失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 使用Python绘制词云图(自定义形状)

使用Python绘制词云图(自定义形状)

时间:2020-08-20 10:45:31

相关推荐

使用Python绘制词云图(自定义形状)

1.使用Python需要事先准备的包

from wordcloud import WordCloudimport osfrom os import pathimport matplotlib.pyplot as pltimport jiebafrom imageio import imread

2.准备一个词云图的背景图片

就是想把词云图生成什么样子的背景,比如下图:

3.代码如下

from wordcloud import WordCloudimport osfrom os import pathimport matplotlib.pyplot as pltimport jiebafrom imageio import imread#读取图片bg_pic = imread('C:\\Users\\Administrator\\Desktop\\0.png')comment_text=open('C:\\Users\\Administrator\\Desktop\\test.txt','r').read()cut_text=jieba.lcut(comment_text)print(cut_text)cut_text=filter(lambda x:len(x)>1,cut_text )cut_text=list(cut_text)cut_text=' '.join(cut_text)print(cut_text)#第一个参数 字体路径cloud=WordCloud(background_color='black',width=700,height=300,max_words=2000,max_font_size=40,mask=bg_pic#该属性 字体显示形状 在非白色部分显示!!!)#放入的是文本文件(必须是分词后的) 就是字符串word_cloud=cloud.generate_from_text(cut_text)plt.imshow(word_cloud)plt.axis('off')#去掉X Y 轴坐标plt.show()

bg_pic就是我们要准备的词云图背景

comment_text 就是我们的文本文件。

上面的代码可以生成一个好看的词云图,但是如果是英文就没什么问题,可以正常生成,如果是中文的话,就会出现乱码的情况。

解决办法:

1.打开wordcloud.py文件

找到34行,默认是DrodiSansMono.ttf这个字体不满足中文的

所以要在这里进行字体文件更换,更换成中文的即可,可以自己在网上下载,也可以使用系统自带的字体。

我是使用系统自带的字体文件。

2.找到系统中支持中文的字体文件

这里面支持中文 ,随便复制一个到第一步骤中,如下所示:

然后在34行,替换成这个文件即可

FONT_PATH = os.environ.get('FONT_PATH', os.path.join(FILE, 'simsun.ttc'))

,再重新运行代码,就可以生成中文的词云图了,如下所示:

如果觉得《使用Python绘制词云图(自定义形状)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。