从网上复制了一篇报告,放在txt文件
再准备一张轮廓图
打开CMD,安装 Wordcloud:
Pip3 install wordcloud
从网站上找到相对应的版本:https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud
但一直报错:
最后直接在 Jupyter安装成功:
from wordcloud import WordCloud as wc
import matplotlib.pyplot as plt
text=open('CHINA 145.txt','r',encoding="utf-8").read()
font=r'C:\Windows\Fonts\msyhl.ttc'
mywc=wc(font_path=font,width=1000,height=800).generate(text)
plt.imshow(mywc)
plt.axis('off')
plt.show()
试着将校长开学典礼致辞做成词云:
出现了一点错误:
import jieba
with open('xiaozhang.txt','rb') as f:
renmin=f.read()
jieba.load_userdict('xiaozhang.txt')
seg_list=jieba.cut(renmin,cut_all=False)
tf={}
for seg in seg_list:
if seg in tf:
tf[seg]+=1
else:
tf[seg]=1
ci=list(tf.keys())
with open('stopword.txt',"rt", encoding="utf-8") as ft:
stopword=ft.read()
for seg in ci:
if tf[seg]<5 or len(seg)<2 or seg in stopword or "一" in seg:
tf.pop(seg)
print(tf)
ci, num, data = list(tf.keys()), list(tf.values()),[]
for i in range(len(tf)):
data.append((num[i],ci[i])) #逐个将键值对存入data中
data.sort()#升序排列
data.reverse()#逆序,得到所需的降序排列
tf_sorted={}
print(len(data),data[0],data[0][0],data[0][1])
for i in range(len(data)):
tf_sorted[data[i][1]]=data[i][0]
print(tf_sorted)
import os
print(os.getcwd())
from wordcloud import WordCloud
import matplotlib.pyplot as plt
#text=open('xiaozhang.txt','r').read()
font=r'c:\Windows\Fonts\simfang.ttf'
wc=WordCloud(font_path=font,width=800,height=600).generate_from_frequencies(tf)
plt.imshow(wc)
plt.axis('off')
plt.show()
wc.to_file('AI.jpg')
套图形:
import os
print(os.getcwd())
from wordcloud import WordCloud
import matplotlib.pyplot as plt
from PIL import Image
import numpy as np
mask=np.array(Image.open("AI.png"))
#text=open('xiaozhang.txt','r').read()
font=r'c:\Windows\Fonts\simfang.ttf'
wc=WordCloud(background_color="white",mask=mask,font_path=font,width=800,height=600).generate_from_frequencies(tf)
plt.imshow(wc)
plt.axis('off')
plt.show()
wc.to_file('AI.jpg')
import os
print(os.getcwd())
from wordcloud import WordCloud,ImageColorGenerator
from wordcloud import WordCloud
import matplotlib.pyplot as plt
from PIL import Image
import numpy as np
mask=np.array(Image.open("AI.png"))
#text=open('xiaozhang.txt','r').read()
font=r'c:\Windows\Fonts\simfang.ttf'
wc=WordCloud(background_color="white",mask=mask,font_path=font,width=800,height=600).generate_from_frequencies(tf)
plt.imshow(wc)
image_colors=ImageColorGenerator(mask)
plt.imshow(wc.recolor(color_func=image_colors))
plt.axis('off')
plt.show()
wc.to_file('AI.jpg')
完成~