wordcloud库是第三方库,需要安装,在命令行中敲下pip install wordcloud来安装。安装经常遇见的问题是缺少相应的whl文件,以后再说,百度也能搜到。
wordcloud库基本使用
wordcloud库吧词云当做一个WordCloud对象。可以根据文本中词语出现的频率等参数会致辞云,绘制词云的形状,尺寸和颜色都可以设定。
wordcloud库以空格分割单词,在文本中统计每个单词出现的次数,次数多的显示的大,他会将很短的单词去掉,有默认的字体和颜色。
步骤:配置参数,加载文本,输出文件
wordcloud库的常规方法:
generate(txt) 向WordCloud对象加载文本(由空格分隔的字符串类型)
to_file(filename) 将词云输处为图像文件,png,jpg格式
配置对象参数
width 指定图片的宽度,默认400像素
height 指定图片的高度,默认200像素
min_font_size 指定词云中字体的最小字号
max_font_size 指定词云中字体的最大字号
font_step 指定词云中字体字号的步进间隔
font_path 指定字体文件的路径,例:微软雅黑是‘msyh.ttc’
max_words 指定词云显示的最大单词数量,默认200
stop_words 指定词云的排除单词列表,即不显示的单词列表
mask 指定词云形状,默认是矩形,需要引用imread()函数读取一个图片的形状,然后把它付给mask
from scipy.misc import imread
mk=imread('pic.png')
w=wordcloud.WordCloud(mask=mk)
background_color 指定词云图片的背景颜色,默认是黑色
实例
首先,jieba是一个中文分词库,他会对中文文本自动分词。也是一个第三方库,需要安装,即pip install jieba
参考代码:
import jieba
import wordcloud
w=wordcloud.WordCloud(width=1000,height=800,font_path='msyh.ttc',max_words=50)
ls=[]
path='D:\\Python\\python学习代码\\词云.txt'
f=open(path,'r',encoding='utf-8')
ls=f.read().replace(',','').split()
txt=''.join(ls)
w.generate(' '.join(jieba.lcut(txt)))
w.to_file('wordcloud.png')
生成的词云图片如下
修改词云的形状,新找的图片一定要是背景为白色的(?)
图片展示:
参考代码:
import jieba
import wordcloud
from imageio import imread
mk=imread('汽车.png')
w=wordcloud.WordCloud(width=1000,height=800,mask=mk,\
font_path='msyh.ttc',max_words=50,background_color='white')
ls=[]
path='D:\\Python\\python学习代码\\词云.txt'
f=open(path,'r',encoding='utf-8')
ls=f.read().replace(',','').split()
txt=''.join(ls)
w.generate(' '.join(jieba.lcut(txt)))
w.to_file('wordcloud.png')
imageio第三方库,同理在命令行中pip install imageio。(采用嵩天老师讲的scipy.misc时候遇到了问题,搜索一下结果是scipy版本的问题,版本是1.2.0。把 from scipy.misc import imread 换成 from imageio import imread 就好了,所以安装了一下imageio库)