目標是使用python程序讀取詞、詞頻生成一個詞雲圖,結果輸出可以選擇html格式,也可以選擇png
pyecharts簡介
官方的介紹也很簡單,簡單來說就是說是應大數據而生的可視化庫
使用
使用上可以先下載示例代碼,看上去多其實每個目錄都是一個圖形,使用上感覺和JS插件也差不多,挺簡單的。

要從這么多圖形里找到自己需要的示例也是要花點功夫的,^^

詞雲示例

數據格式:
pyecharts需要的數據格式為二維數組:
[['的' '232'],['情感' '119'],['和' '42']]
def create_wcloud(self):
(
WordCloud()
.add(series_name="熱詞雲圖",
# 添加數據
data_pair=self.data,
# 字間隙
word_gap=5,
# 調整字大小范圍
word_size_range=[15, 80],
shape="cursive"
# 選擇背景圖,也可以不加該參數,使用默認背景
# mask_image='timg.jpg'
)
.set_global_opts(
title_opts=opts.TitleOpts(
title="熱詞雲圖", title_textstyle_opts=opts.TextStyleOpts(font_size=23)
),
tooltip_opts=opts.TooltipOpts(is_show=True),
)
# 輸出為html格式
.render("testbasic.html")
)
生成圖片
pyecharts生成圖片需要安裝 snapshot-selenium 或者 snapshot-phantomjs。而使用snapshot-selenium需要安裝瀏覽器的插件,否則會報錯。
所以生成圖片的方案我們使用wordcloud。效果也不錯

數據格式:
wordcloud需要的詞頻數據格式是字典,如下:
mydata {'的': 232, '情感': 119, '和': 42, '分析': 41, '方法': 36}
wc = WordCloud(font_path='C:\\windows\\Fonts\\simhei.ttf', background_color='White', max_words=50)
wc.generate_from_frequencies(self.data)
plt.imshow(wc)
plt.axis("off") # 不顯示坐標軸
plt.show()
wc.to_file('Wordcloud.png') # 保存的圖片命名為Wordcloud.pn
