python上机课——wordcloud
wordcloud小测试
上机课属实无聊哈,实在不想完成拖了好久的大作业,那就玩玩词云吧,毕竟之后要学,先上成果(大力出奇迹)
取色来源:
(原图分辨率过高,5MB过大上传不了,截图将就着看)
有没有发现上面生成的词云和背景图的取色几乎一样(只是几乎,没有达到完全水平),想要完整这些,需要借助这几个模块:imageio、wordcloud、matplotlib,就不介绍下载方式了(pip全都能下载)
qinghua.txt文件内容:
倘若你的眼睛真是这样冷,在你鉴照下,有个人的心会结成冰。
这世上真话本就不多,一位女子的脸红胜过一大段对白。
梁思成: “有一句话,我只问这一次,以后都不会再问,为什么是我?”林徽因:“答案很长,我准备用一生去回答你,你准备好听了吗?”
你嘴凑上来,我对你嘴说,这话就一直钻到你心里,省得走远路,拐了弯从耳朵里进去。
我真想拉起你的手,逃向初晴的天空和田野,不畏缩也不回顾。
手我是有的,就是不知如何碰你。
跟你在一起,我就喜欢做各种傻事。
如果有来生,希望每次的相逢,都能化为永恒。
在我看来,世间万物都是为了你,因为我的眼里只有你。
我们或者在月光下闲游,或者在灯光下谈心,手握着手,心对着心,就像一对二十岁的情人。
让我如何感谢你,当我走向你的时候,我原想收获一缕春风,你却给了我整个春天。
上代码!
from imageio import imread # 处理图像
from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator
import matplotlib.pyplot as plt
back_color = imread('bg2.jpg') # 解析图片
wc = WordCloud(background_color='white', # 背景颜色
max_words=1000, # 最大词数
mask=back_color, # 以该参数值作图绘制词云,这个参数不为空时,width和height会被忽略
max_font_size=100, # 显示字体的最大值
font_path="C:/Windows/Fonts/STXINWEI.TTF", #可进入C:/Windows/Fonts/目录更换字体
random_state=42, # 为每个词返回一个PIL颜色
# width=1000, # 图片的宽
# height=860 #图片的长
)
text = open('qinghua.txt',encoding='utf-8').read()
wc.generate(text)
# 基于彩色图像生成相应彩色
image_colors = ImageColorGenerator(back_color)
# 显示图片
plt.imshow(wc)
# 关闭坐标轴
plt.axis('off')
# 绘制词云
plt.imshow(wc.recolor(color_func=image_colors))
plt.axis('off')
#显示改背景色后的图片
plt.show()
# 保存图片
wc.to_file('final.png')
乖乖上机,我还是搞大作业吧,下周就要结课了,卑微