環境報錯解決思路
wordcloud方法介紹
wordcloud方法是wordcloud庫中使用頻率最高的為作用最大的方法, 主要用於詞云的生成和繪製。
wordcloud屬性
作用font_path
width
整數型別, 生成詞云的寬度, 預設:400
height
整數型別, 生成詞云的高度, 預設:200
prefer_horizontal
浮點型別,詞語水平方向排版出現的頻率,預設:0.9
mask
遮罩圖, 下方會詳細介紹。預設:無
scale
浮點型別, 按照比例進行放大畫布, 預設:1
min_font_size
整數型別, 顯示的最小的字型大小, 預設:4
max_font_size
整數型別, 顯示的最大的字型大小, 預設:無
margin
整數型別, 邊緣空白寬度, 預設:2
font_step
整數型別, 字型步長, 預設:1
max_words
整數型別,要顯示的詞的最大個數 ,預設:200
background_color
字串型別, 背景顏色,預設:黑色
stopwords
設定需要遮蔽的詞,如果為空,則使用內建的stopwords
relative_scaling
浮點型別,詞頻和字型大小的關聯性,預設:auto。
regexp
字串型別,使用正規表示式分隔輸入的文字
collocations
布林型別, 是否包括兩個詞的搭配
colormap
給每個單詞隨機分配顏色,若指定color_func,則忽略該方法。
normalize_plurals
布林型別,是否刪除單詞中的s,如果使用generate_from_frequencies,則將其忽略。預設:true
contour_width
浮點型別,如果mask遮罩不是none和contour_width > 0,則繪製mask遮罩輪廓。預設:0
contour_color
字串型別, mask遮罩輪廓顏色。預設: black
repeat
布林型別,是否重複單詞和短語,直到達到max_words或min_font_size。預設:false
include_numbers
布林型別,是否將數字包含為短語。預設:false
min_word_length
整數型別,乙個單詞必須包含的最小字母數。預設:0
mode
顏色模式,預設「rgb」。如果想設定透明底色的雲詞圖,那麼可以設定background_color=none, mode=「rgba」
被棄用屬性
ranks_only
wordcloud方法
作用fit_words(frequencies)
根據詞頻生成詞云(frequencies,為字典型別),generate_from_frequencies(frequencies)的簡寫
generate(text)
根據文字生成詞云,generate_from_text(text)的簡寫
generate_from_frequencies(frequencies, max_font_size=none)
根據詞頻生成詞云
generate_from_text(text)
根據文字生成詞云
process_text(text)
將長文字分詞並去除遮蔽詞(此處指英語,中文分詞還是需要自己用別的庫先行實現,使用上面的 fit_words(frequencies) )
recolor([random_state, color_func, …])
對現有輸出重新著色。重新上色會比重新生成整個詞云快很多。
to_array()
轉換為numpy陣列。
to_file(filename)
輸出到檔案(filename為輸出檔名)
to_svg([embed_font, …])
匯出為svg格式。
簡單詞云生成例項
使用上述的方法和屬性我們就可以生成乙個自己的詞云。
wordcloud從除了wordcloud外,還有'''
'''# 製作詞云使用
from wordcloud import wordcloud
# 中文分詞使用
import jieba
# 獲取製作詞云的文字路徑
path_txt =
'詞云.txt'
# 開啟文字
with
open
(path_txt,
'r', encoding=
'utf-8'
)as f:
# 結巴分詞,生成字串,wordcloud無法直接生成正確的中文詞云
cut_text =
" ".join(jieba.cut(f.read())
)# 設定詞云屬性
wordcloud = wordcloud(
# 設定字型,不然會出現口字亂碼,文字的路徑是電腦的字型一般路徑,可以換成別的
font_path=
,# 設定了背景(當前為透明)
background_color=
none
, mode=
'rgba'
,# 寬
width=
1000
,# 高
height=
880)
# 生成詞云
wordcloud.generate(cut_text)
# 設定詞云儲存路徑
wordcloud.to_file(
"圖云.png"
)
生成自定義樣式和顏色的
使用maks屬性即可幫助我們生成帶蒙版的詞云,但需要注意的是我們不能直接將乙個給maks,否則會報錯attributeerror: 『str』 object has no attribute 'dtype』大致意思就是str(字串)沒有dtype屬性。
這裡我們需要用到matplotlib.pyplot庫中的.imread(』』)屬性。顏色方面我們可以使用recolor進行重新著色,使用imagecolorgenerator讀取背景顏色。
'''
'''# 製作詞云使用
from wordcloud import wordcloud, imagecolorgenerator
# 中文分詞使用
import jieba
# 轉化蒙版
import matplotlib.pyplot as plt
# 獲取製作詞云的文字路徑
path_txt =
'詞云.txt'
# 開啟文字
with
open
(path_txt,
'r', encoding=
'utf-8'
)as f:
# 結巴分詞,生成字串,wordcloud無法直接生成正確的中文詞云
cut_text =
" ".join(jieba.cut(f.read())
)# 設定背景
backgroud_image = plt.imread(
'蒙版圖.jpg'
)# 設定詞云屬性
wordcloud = wordcloud(
# 設定字型,不然會出現口字亂碼,文字的路徑是電腦的字型一般路徑,可以換成別的
font_path=
,# 設定了背景(當前為透明)
background_color=
none
, mode=
'rgba'
,# 寬
width=
1000
,# 高
height=
880,
# 設定背景蒙版
mask=backgroud_image
)# 生成詞云
wordcloud.generate(cut_text)
# 將字型顏色重新著色為背景顏色(recolor方法必須在generate之後執行)
wordcloud.recolor(color_func=imagecolorgenerator(backgroud_image)
)# 設定詞云儲存路徑
wordcloud.to_file(
"圖云.png"
Python如何生成詞云 詳解
效果圖一 效果圖二 對於新人來說安裝wordcloud模組就是一大關,我們一般都是通過pycharm或者pip安裝的,但是在安裝wordcloud時會提示錯誤,如下 執行後會顯示安裝成功 wordcloud的基本方法,看原始碼如下 各個引數大家應該一看就明白,另外wordcloud還有幾個其他方法,...
Python 生成詞云
import matplotlib.pyplot as plt from wordcloud import wordcloud import jieba text from file with apath open python.txt encoding utf 8 read wordlist af...
python 生成詞云
coding utf 8 from wordcloud import wordcloud import matplotlib.pyplot as plt import jieba from pil import image import numpy as np 生成詞云 defcreate word...