網上大多數詞云的代碼都是基于原始文本生成,這里寫一個根據詞頻生成詞云的小例子,都是基于現成的函式,
另外有個在線制作詞云的網站也很不錯,推薦使用:WordArt
安裝詞云與畫圖包
pip3 install wordcloud
pip3 install matplotlib
word_cloud.py(生成詞云的程式)
from wordcloud import WordCloud
import matplotlib.pyplot as plt
# 生成詞云
def create_word_cloud():
frequencies = {}
for line in open("./record.txt"):
arr = line.split(" ")
frequencies[arr[0]] = float(arr[1])
# 支持中文, SimHei.ttf可從以下地址下載:https://github.com/cystanford/word_cloud
wc = WordCloud(
font_path="./SimHei.ttf",
max_words=100,
width=2000,
height=1200,
)
word_cloud = wc.generate_from_frequencies(frequencies)
# 寫詞云圖片
word_cloud.to_file("wordcloud2.jpg")
# 顯示詞云檔案
plt.imshow(word_cloud)
plt.axis("off")
plt.show()
# 根據詞頻生成詞云
create_word_cloud()
record.txt檔案示例,第1列是單詞,第2列是頻率,空格分隔
中文 100
英文 2
日語 3
運行后得到如下結果:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/190818.html
標籤:Python
