欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python詞云庫wordcloud自定義詞云制作步驟分享

 更新時間:2022年08月11日 10:31:36   作者:???KaneBurger???????  
這篇文章主要介紹了python詞云庫wordcloud自定義詞云制作步驟分享,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下

wordcloud庫常規(guī)方法

import wordcloud
c=wordcloud.WordCloud()  #構(gòu)建詞云對象,配置對象參數(shù)
c.generate("wordcloud by python ")  #加載詞云文本
c.to_file("pywordcloud.png")      #輸出詞云文件

詞云生成步驟:

  • 分隔:以空格分隔單詞
  • 統(tǒng)計:單詞出現(xiàn)次數(shù)并過濾(1-2個字母會被濾掉)
  • 字體:根據(jù)統(tǒng)計配置字號
  • 布局:顏色環(huán)境尺寸

c=wordcloud.WordCloud(參數(shù)) 配置對象參數(shù)

參數(shù)(像素)描述
width(默認400px)c=wordcloud.WordCloud(width=600)
height(默認200px)c=wordcloud.WordCloud(height=400)
min_font_size(默認4號)c=wordcloud.WordCloud(min_font_size=10)
max_font_size(根據(jù)高度自動調(diào)節(jié))c=wordcloud.WordCloud(max_font_size=20)
font_step(默認1,步長)c=wordcloud.WordCloud(font_step=2)
font_path(默認None,字體路徑)c=wordcloud.WordCloud(font_path="msyh.ttc")
max_words(默認200,最大數(shù)量)c=wordcloud.WordCloud(max_words=20)
stop_words(指定去除單詞的列表)c=wordcloud.WordCloud(stop_words={"python"})
background_color(默認黑色,詞云背景色)c=wordcloud.WordCloud(background_color="red")

Scale 默認值1。值越大,圖像密度越大越清晰

mask參數(shù)自定義詞云形狀:

#指定詞云形狀,默認是長方形,需要引用imread()函數(shù)
from scipy.misc import imread
mk=imread("pic.png")
c=wordcloud.WordCloud(mask=mk)

第三方庫

  • numpy :多維數(shù)組運算
  • matplotlib :繪圖與數(shù)據(jù)可視化
  • pillow :圖片處理
  • wordcloud :詞云制作
  • imageio :圖像輸入輸出
  • jieba :中文分詞
  • snownlp :中文情感和自然語言處理
  • itchat :微信好友抓取

讀取文件

政府工作報告詞云:

import wordcloud
# 從外部.txt文件中讀取大段文本,存入變量txt中
f = open('政府工作報告.txt',encoding='utf-8')
txt = f.read()
# 構(gòu)建詞云對象w,設(shè)置詞云圖片寬、高、字體、背景顏色等參數(shù)
w = wordcloud.WordCloud(width=1000,
                        height=700,
                        background_color='white',
                        font_path='msyh.ttc')
# 將txt變量傳入w的generate()方法,給詞云輸入文字
w.generate(txt)
# 將詞云圖片導(dǎo)出到當前文件夾
w.to_file('Test1.png')

==wordcloud中文分詞(適合中文詞云)==

# 導(dǎo)入詞云制作庫wordcloud和中文分詞庫jieba
import jieba
import wordcloud
# 構(gòu)建并配置詞云對象w
w = wordcloud.WordCloud(width=1000,
                        height=700,
                        background_color='white',
                        font_path='msyh.ttc')
# 調(diào)用jieba的lcut()方法對原始文本進行中文分詞,得到string
txt = '由于Python語言的簡潔性、易讀性以及可擴展性, \
      在國外用Python做科學計算的研究機構(gòu)日益增多, \
      一些知名大學已經(jīng)采用Python來教授程序設(shè)計課程。 \
      例如卡耐基梅隆大學的編程基礎(chǔ)、 \
      麻省理工學院的計算機科學及編程導(dǎo)論就使用Python語言講授。'
txtlist = jieba.lcut(txt)
string = " ".join(txtlist)
# 將string變量傳入w的generate()方法,給詞云輸入文字
w.generate(string)
# w.generate(" ".join(jieba.lcut(txt)))  #三段代碼合一簡寫
# 將詞云圖片導(dǎo)出到當前文件夾
w.to_file('Teste2.png')

自定義繪制指定形狀的詞云

import jieba
import wordcloud
from scipy.misc import imread
mask=imread("圖片形狀.png") #導(dǎo)入自定義形狀圖片賦給mask
# 從外部.txt文件中讀取大段文本,存入變量txt中
f = open('政府工作報告.txt',encoding='utf-8')
txt = f.read() #閱讀提取
f.close()   #關(guān)閉
# 構(gòu)建詞云對象w,設(shè)置詞云圖片寬、高、字體、背景顏色等參數(shù)
w = wordcloud.WordCloud(width=1000,
                        height=700,
                        background_color='white',mask=mask,
                        font_path='msyh.ttc')
# 將txt變量傳入w的generate()方法,給詞云輸入文字
w.generate(" ".join(jieba.lcut(txt)))
# 將詞云圖片導(dǎo)出到當前文件夾
w.to_file('Test1.png')

==勾勒詞云輪廓==

# 導(dǎo)入詞云制作庫wordcloud
import wordcloud
# 將外部文件包含的文本保存在string變量中
string = open('hamlet.txt').read()
# 導(dǎo)入imageio庫中的imread函數(shù),并用這個函數(shù)讀取本地圖片,作為詞云形狀圖片
import imageio
mk = imageio.imread("ren.png")
# 構(gòu)建詞云對象w,注意增加參數(shù)contour_width和contour_color設(shè)置輪廓寬度和顏色
w = wordcloud.WordCloud(background_color="white",
                        mask=mk,
                        contour_width=1,
                        contour_color='steelblue'
                        )
# # 將string變量傳入w的generate()方法,給詞云輸入文字
w.generate(string)
# 將詞云圖片導(dǎo)出到當前文件夾
w.to_file('p2.png')

==按模板自身顏色繪制詞云==

# 導(dǎo)入繪圖庫matplotlib和詞云制作庫wordcloud
import matplotlib.pyplot as plt
from wordcloud import WordCloud,ImageColorGenerator

# 將外部文件包含的文本保存在text變量中
text = open('alice.txt').read()

# 導(dǎo)入imageio庫中的imread函數(shù),并用這個函數(shù)讀取本地圖片queen2.jfif,作為詞云形狀圖片
import imageio
mk = imageio.imread("alice.png")

# 構(gòu)建詞云對象w
wc = WordCloud(background_color="white",
               mask=mk,)
# 將text字符串變量傳入w的generate()方法,給詞云輸入文字
wc.generate(text)

# 調(diào)用wordcloud庫中的ImageColorGenerator()函數(shù),提取模板圖片各部分的顏色
image_colors = ImageColorGenerator(mk)

# 顯示原生詞云圖、按模板圖片顏色的詞云圖和模板圖片,按左、中、右顯示
fig, axes = plt.subplots(1, 3)
# 最左邊的圖片顯示原生詞云圖
axes[0].imshow(wc)
# 中間的圖片顯示按模板圖片顏色生成的詞云圖,采用雙線性插值的方法顯示顏色
axes[1].imshow(wc.recolor(color_func=image_colors), interpolation="bilinear")
# 右邊的圖片顯示模板圖片
axes[2].imshow(mk, cmap=plt.cm.gray)
for ax in axes:
    ax.set_axis_off()
plt.show()

# 給詞云對象按模板圖片的顏色重新上色
wc_color = wc.recolor(color_func=image_colors)
# 將詞云圖片導(dǎo)出到當前文件夾
wc_color.to_file('out-alice.png')

到此這篇關(guān)于python詞云庫wordcloud自定義詞云制作步驟分享的文章就介紹到這了,更多相關(guān)python wordcloud詞云制作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論