NO.1 词云

从网上复制了一篇报告,放在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()

试着将校长开学典礼致辞做成词云:

 出现了一点错误:

但解决了,通过搜索:(python3异常)'gbk' codec can't decode byte 0xad in position 2: illegal multibyte sequence_Sirm23333-CSDN博客

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')

完成~ 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值