本篇文章小编给大家分享一下使用python生成云词图实现画红楼梦词云图代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
目录
在用Python绘制红楼梦词云图 文章中讲到我们使用Python把红楼梦中的核心词汇给绘画出来了,但是,红楼梦这么唯美的书,给我们乌漆麻黑的搞了一张词云,宝宝们肯定接受不了
那怎么办呢?能否用贾宝玉的图像来画词云图呢?答案是肯定的。
我们先来找一张贾宝玉的照片,这张照片不错,不过还是要处理一下,把背景处理称为白色,这个时候,PS工具可以简单地达到这个效果。
接着,我们就要来写程序了,老规矩,我们先来导入包:
from scipy.misc import imread import matplotlib.pyplot as plt from wordcloud import WordCloud, ImageColorGenerator
把图片读取进去,然后重新设置一下WordCloud对象,设置mask为我们的图片。
bimg = imread(“D:贾宝玉.png”) wordcloud = WordCloud( background_color=“white”, mask=bimg, font_path=‘D:simhei.ttf')
接着,我们就可以美美地绘制词云了。
wordcloud = wordcloud.fit_words(segStat.head(1000).itertuples(index=False)) bimgColors = ImageColorGenerator(bimg) plt.axis(“off”) plt.imshow(wordcloud.recolor(color_func=bimgColors)) plt.show()
长腿欧巴虽然好,但是画起来,很明显我们的词汇分成两大部分了,这样子会分散我们的注意力,因此,我们使用人物作为背景绘制词云的时候,最好只是使用上半身,使用头像就更好了。
因此,长腿欧巴拜拜。
bimg = imread(“D:贾宝玉2.png”) wordcloud = WordCloud(background_color=“white”,mask=bimg, font_path=‘D:simhei.ttf') wordcloud = wordcloud.fit_words(segStat.head(1000).itertuples(index=False)) bimgColors = ImageColorGenerator(bimg) plt.axis(“off”) plt.imshow(wordcloud.recolor(color_func=bimgColors)) plt.show()