WordCloud生成词云
随意复制了一些天猫评论,通过wordcloud生成词云查看消费者购买意向重点
第一次照着教程写,评论还不会爬所以这里评论的txt都是我手动复制的,见笑见笑
#中文数据云图
from wordcloud import WordCloud,ImageColorGenerator,STOPWORDS #ImageColorGenerator实现图片渲染图片着色
import jieba #实现中文分词
import numpy #numpy科学计算库,生成一维数组
import PIL.Image as Image #PIL做图像处理的,PIL.Image创建实例载入图片处理图片生成图片
Uname = {'匿名':0, '天猫':0, '超级':0, '会员':0}
#用jieba切词
def chinese_jieba(text):
wordlist_jieba=jieba .cut(text)#结果是列表
space_wordlist=' '.join(wordlist_jieba)
return space_wordlist
#主程序
with open('D:\\pycharm\\project\\venv\\ziyuan\\testcn.txt') as fp :
text=fp.read()
text=chinese_jieba(text)
#图片遮罩层
mask_pic=numpy.array(Image.open('D:\\pycharm\\project\\venv\\ziyuan\\heart.jpg'))#打开图片,载入图片,并利用numpy生成一维数组
##
wordcloud=WordCloud(font_path='BLACK.otf',collocations=False,mask=mask_pic,background_color='white',stopwords=Uname,max_words=100).generate(text)
#mask : nd-array or None (default=None)
# 如果参数为空,则使用二维遮罩绘制词云。如果 mask 非空,设置的宽高值将被忽略,遮罩形状被 mask 取代。除全白(#FFFFFF)的部分将不会绘制,
# 其余部分会用于绘制词云。如:bg_pic = imread('读取一张图片.png'),背景图片的画布一定要设置为白色(#FFFFFF),然后显示的形状为不是白色
# 的其他颜色。
image=wordcloud.to_image()
image.show()
我用了一个爱心形状的图片模板,生成的效果
从这里可以看出消费者在购买这款产品的时候主要考虑的是价格实惠。
笔记:wordcloud常见的参数
wordcloud=WordCloud(font_path='BLACK.otf',collocations=False,mask=mask_pic,background_color='white',stopwords=Uname,max_words=100).generate(text)
常见参数保存
background_color 示例:background_color=‘white’,说明:指定背景色,可以使用16进制颜色
width 示例:width=600 说明:指定图像长度 ,图像长度默认400 单位像素
height 示例:height=400 说明:指定图像高度图像高度 默认200
margin 示例:margin=20 说明:词与词之间的边距 默认2
scale 示例:scale=0.5 说明:缩放比例 对图像整体进行缩放 默认为1
prefer_horizontal 示例:prefer_horizontal=0.9 说明:词在水平方向上出现的频率,默认为0.9
min_font_size 示例:min_font_size=10说明: 最小字体 默认为4
max_font_size 示例:max_font_size=20 说明:最大字体 默认为200
font_step 示例:font_step=2 说明:字体步幅 控制在给定text遍历单词的步幅 默认为1 一般不用修改 对于较大text 增大font_step会加快读取速度 但会牺牲部分准确性
stopwords stopwords=set(‘dog’) 设置要过滤的词 以字符串或者集合作为接收参数 如不设置将使用默认的 停动词词库这个试过了,没成功
mode 示例:mode=’RGB’说明: 设置显色模式 默认RGB 如果为RGBA且background_color不为空时,背景为透明
relative_scaling 示例:relative_scaling=1 说明:词频与字体大小关联性 默认为5 值越小 变化越明显
color_func 示例:color_func=None 说明:生成新颜色的函数 如果为空 则使用 self.color_func
regexp 示例:regexp=None 说明:默认单词是以空格分割,如果设置这个参数 将根据指定函数来分割
width 示例:regexp=None 说明:默认400 单位像素
collocations 示例:collocations=False 说明:是否包含两个词的搭配 默认为True
colormap 示例:colormap=None 说明:给所有单词随机分配颜色 指定color_func则忽略
random_state 示例:random_state=1 说明:为每个单词返回一个PIL颜色
font_path 示例:font_path=‘PangMenZhengDaoBiaoTiTi-1.ttf’ 说明:指定字体
mask 示例:mask=mask_pic 说明:指定背景图,会将单词填充在背景图像素非白色(#FFFFFF RGB(255,255,255))的地方