Wordcloud词云教程
来源:互联网 发布:ubuntu u盘安装工具 编辑:程序博客网 时间:2024/06/01 12:09
原始图片
生成词云后图片
开始安装阶段
1->安装wordcloud
简单安装
Pip install wordcloud
(容易报错)
手动安装
wordcloud下载地址
点击链接 ctrl+f 输入wordcloud 找到匹配的模块 下载
下载完成后 在文件所在目录下打开命令行 输入:
Pip install wordcloud-1.3.2-cp36-cp36m-win32.whl
等待安装完成
2->安装其他模块
wordcloud需要配合其他模块来完成
Numpy+PIL模块jieba分词模块Scipy模块
这是主要模块,安装方式同上
注意:读取图片有两种方式:numpy+PIL读取图片,sicpy.Misc模块读取图片 选择其中之一安装即可
开始操作阶段
3->开始词云
选择一段文字,一张图片我们就开始了
首先获取文字content
Content_text=”/”.join(jieba.cut(content),cut_all=”True”)
注意参数Cut_all
cut_all为真时,开启全模式(速度快,质量不保证)
cut_all为假时,开启精准模式(质量保证,适合文本分析)
定义wordcloud类
From wordcloud import WordCloud,STOPWORDS WordCloud(..........) 下边是WordCloud函数的参数: Background_color=””背景色 Font_path=”字体路径” 防止无法显示文字 注意 字体路径不支持中文 Max_words=最大词量 Mask=你读取的图片 图像形状 Stopwords= 禁词 Max_font_size= 最大词体
读取图片
方式一
from scipy.misc import imread Pic=imread(图片path)
方式二
from PIL import Image Import numpy as np Pic =np.array(Image.open(图片 path))
生成词云
Ws.generate(content_text)
储存为文件
Ws.to_file(‘路径,格式’)
附上源码
#!/usr/bin/python#-*-coding:utf-8-*-#coding:utf-8__author__='zyy'#import matplotlib #解决matplotlib远程不能调用的错误#matplotlib.use('Agg')import pymysqlimport jiebafrom os import pathimport matplotlib.pyplot as pltimport matplotlib.image as mpingfrom PIL import Imageimport numpy as npfrom wordcloud import WordCloud,STOPWORDS,ImageColorGeneratorfrom scipy.misc import imread#获取文字def text(): text=[] Db=pymysql.connect('?','?','?','?',charset='utf8') cursor=Db.cursor() sql='select advantage from data' cursor.execute(sql) turple_text=cursor.fetchall() for s in turple_text: s = ''.join(list(s)) text.append(s) text=''.join(list(text)) return textdef word(text): # 获取当前路径 d = path.dirname(__file__) #jieba分词 jieba_text=' '.join(jieba.cut(text,cut_all=False)) #妈的 分词要加空格 或者特殊字符 #读取图片 china=imread("basketball.png") #scipy.misc方式都可以读取图片 #china=np.array(Image.open(path.join(d,'basketball.png'))) #numpy+PIL方式都可以读取图片 #设置词云颜色 image_color=ImageColorGenerator(china) #设置禁词 stopwords=set(STOPWORDS) stopwords.add("said") #调用WordCloud wc=WordCloud( background_color="white", font_path=path.join(d,'Bold.ttf'), max_words=2000, mask=china, max_font_size=40, stopwords=stopwords)#生成文字云wc.generate(jieba_text)#储存到文件wc.to_file('word.png')#显示词云plt.imshow(wc.recolor(color_func=image_color),interpolation='bilinear')plt.axis('off')plt.show()if __name__=='__main__': text=text() word(text)
阅读全文