使用Python生成云词图实现画红楼梦词云图

在 用Python绘制红楼梦词云图 文章中讲到我们使用Python把红楼梦中的核心词汇给绘画出来了,但是,红楼梦这么唯美的书,给我们乌漆麻黑的搞了一张词云,宝宝们肯定接受不了。

71FC14FD-217A-3595-D70C-A0846A0E3C56.jpeg

那怎么办呢?能否用贾宝玉的图像来画词云图呢?答案是肯定的。

我们先来找一张贾宝玉的照片,这张照片不错,不过还是要处理一下,把背景处理称为白色,这个时候,PS工具可以简单地达到这个效果。

EDF559D7-BBB4-CE85-60B4-5341BD78B233.jpeg

BF6368CA-FE34-9280-5ECC-64AB8C419143.jpeg

接着,我们就要来写程序了,老规矩,我们先来导入包:

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

AA923559-02B0-3D89-71D0-A2071EA74B64.jpeg

长腿欧巴虽然好,但是画起来,很明显我们的词汇分成两大部分了,这样子会分散我们的注意力,因此,我们使用人物作为背景绘制词云的时候,最好只是使用上半身,使用头像就更好了。

因此,长腿欧巴拜拜。

81394C62-6654-2299-1D98-FB0408CA6265.jpeg

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

E410C1BF-E61E-4ABB-AD2E-C0E790A1BDED.jpeg

这样子画出来的词云,是不是就唯美了很多了呢?希望你们喜欢。

收藏 (0)
评论列表
正在载入评论列表...
我是有底线的
为您推荐
    暂时没有数据