2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > python词云形状为六边形怎么做_python第三方库wordcloud绘制任意形状词云教程

python词云形状为六边形怎么做_python第三方库wordcloud绘制任意形状词云教程

时间:2018-09-23 17:15:20

相关推荐

python词云形状为六边形怎么做_python第三方库wordcloud绘制任意形状词云教程

版权声明:转载附链接哦。/weixin_43886356/article/details/86711292

此篇教程划分为两种情况,原文本为汉字和原文本为英文,教程最后有实例提供参考。

Part1 原文本为汉字

若原文本为汉字,则需要指定WordCloud方法中的font_path为要使用的汉字字体路径,因为默认的wordcloud字体DroidSansMono.ttf 不支持汉字,且指定的字体文件需要放在wordcloud安装的文件夹下,我电脑中的路径为D:\Program Files\Python37\Lib\site-packages\wordcloud\simhei.ttf

否则生成的词云图片上会是彩色方框,而不会出现汉字。

源代码如下:

import jieba

from wordcloud import WordCloud

from scipy.misc import imread

mask= imread('picture.png') #此处为使用遮罩的情况,即生成的词云形状

file = open("sample.txt", "r", encoding='utf-8')

content = file.read()

words=jieba.lcut(content) # 使用jieba进行精确分词获取词语列表

txt=" ".join(words) #使用空格拼接获得字符串

wordcloud = WordCloud(background_color="white", # 词云图片的背景颜色

width=800, # 词云图片的宽度,默认400像素

height=600, # 词云图片的高度,默认200像素

font_path='D:\Program Files\Python37\Lib\site-packages\wordcloud\simhei.TTF', # 词云指定字体文件的完整路径

max_words=200, #词云图中最大词数,默认200

max_font_size=80, # 词云图中最大的字体字号,默认None,根据高度自动调节

min_font_size=20, # 词云图中最小的字体字号,默认4号

font_step=1, # 词云图中字号步进间隔,默认1

mask=mask, #词云形状,默认None,即方形图

).generate(txt)# 由txt文本生成词云

wordcloud.to_file("sample.png")# 将词云图保存为名为sample的文件

Part2 原文本为英文

from wordcloud import WordCloud

from scipy.misc import imread

mask= imread('picture.png') #此处为使用遮罩的情况,即生成的词云形状

file = open("sample.txt", "r", encoding='utf-8')

txt = file.read()

wordcloud = WordCloud(background_color="white", # 词云图片的背景颜色

width=800, # 词云图片的宽度,默认400像素

height=600, # 词云图片的高度,默认200像素

font_path='D:\Program Files\Python37\Lib\site-packages\wordcloud\simhei.TTF', # 词云指定字体文件的完整路径

max_words=200, #词云图中最大词数,默认200

max_font_size=80, # 词云图中最大的字体字号,默认None,根据高度自动调节

min_font_size=20, # 词云图中最小的字体字号,默认4号

font_step=1, # 词云图中字号步进间隔,默认1

mask=mask, #词云形状,默认None,即方形图

).generate(txt)# 由txt文本生成词云

wordcloud.to_file("sample.png")# 将词云图保存为名为sample的文件

mask为遮罩,限定词云的形状,选择图片作为遮罩,图片中白色的部分不显示词,非白色部分显示词。

若遮罩图片为png格式,则使用scipy库:

from scipy.misc import imread

mask= imread('picture.png')

若遮罩图片为jpg格式,则使用matplotlib库:

import matplotlib.pyplot as plt

mask= plt.imread('psb.jpg')

Part3 运行实例

不使用遮罩源代码如下:

运行结果:

使用遮罩:

遮罩图片picture.png如下:

源代码如下:

运行结果如下:

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