python中使用wordcloud包生成的词云图。

下面来介绍一下wordcloud包的基本用法。

class wordcloud.WordCloud(font_path=None, width=400, height=200, margin=2, ranks_only=None, prefer_horizontal=0.9,mask=None, scale=1, color_func=None, max_words=200, min_font_size=4, stopwords=None, random_state=None,background_color='black', max_font_size=None, font_step=1, mode='RGB', relative_scaling=0.5, regexp=None, collocations=True,colormap=None, normalize_plurals=True)

这是wordcloud的所有参数,下面具体介绍一下各个参数:

font_path : string //字体路径,需要展现什么字体就把该字体路径+后缀名写上,如:font_path = '黑体.ttf'width : int (default=400) //输出的画布宽度,默认为400像素height : int (default=200) //输出的画布高度,默认为200像素prefer_horizontal : float (default=0.90) //词语水平方向排版出现的频率,默认 0.9 (所以词语垂直方向排版出现频率为 0.1 )mask : nd-array or None (default=None) //如果参数为空,则使用二维遮罩绘制词云。如果 mask 非空,设置的宽高值将被忽略,遮罩形状被 mask 取代。除全白(#FFFFFF)的部分将不会绘制,其余部分会用于绘制词云。如:bg_pic = imread('读取一张图片.png'),背景图片的画布一定要设置为白色(#FFFFFF),然后显示的形状为不是白色的其他颜色。可以用ps工具将自己要显示的形状复制到一个纯白色的画布上再保存,就ok了。scale : float (default=1) //按照比例进行放大画布,如设置为1.5,则长和宽都是原来画布的1.5倍。min_font_size : int (default=4) //显示的最小的字体大小font_step : int (default=1) //字体步长,如果步长大于1,会加快运算但是可能导致结果出现较大的误差。max_words : number (default=200) //要显示的词的最大个数stopwords : set of strings or None //设置需要屏蔽的词,如果为空,则使用内置的STOPWORDSbackground_color : color value (default=”black”) //背景颜色,如background_color='white',背景颜色为白色。max_font_size : int or None (default=None) //显示的最大的字体大小mode : string (default=”RGB”) //当参数为“RGBA”并且background_color不为空时,背景为透明。relative_scaling : float (default=.5) //词频和字体大小的关联性color_func : callable, default=None //生成新颜色的函数,如果为空,则使用 self.color_funcregexp : string or None (optional) //使用正则表达式分隔输入的文本collocations : bool, default=True //是否包括两个词的搭配colormap : string or matplotlib colormap, default=”viridis” //给每个单词随机分配颜色,若指定color_func,则忽略该方法。
fit_words(frequencies)  //根据词频生成词云
generate(text)  //根据文本生成词云
generate_from_frequencies(frequencies[, ...])   //根据词频生成词云
generate_from_text(text)    //根据文本生成词云
process_text(text)  //将长文本分词并去除屏蔽词(此处指英语,中文分词还是需要自己用别的库先行实现,使用上面的 fit_words(frequencies) )
recolor([random_state, color_func, colormap])   //对现有输出重新着色。重新上色会比重新生成整个词云快很多。
to_array()  //转化为 numpy array
to_file(filename)   //输出到文件

案例:其中TFIDF可参见之前的博客
http://blog.csdn.net/hhtnan/article/details/76586693
下图为背景图片

#coding=utf-8#导入wordcloud模块和matplotlib模块
from wordcloud import WordCloud,ImageColorGenerator
import  matplotlib.pyplot as plt
from scipy.misc import imread
import jieba
import jieba.analysecontent = open("test.txt","rb").read()  #测试文本为网上中国有嘻哈的某篇博客文章
#tags extraction based on TF-IDF algorithm
tags = jieba.analyse.extract_tags(content, topK=100, withWeight=False)
text =" ".join(tags)
print(text)
# text = unicode(text)#读入背景图片
bj_pic=imread('C:\\Users\\lenovo\\Desktop\\bm.png')#生成词云(通常字体路径均设置在C:\\Windows\\Fonts\\也可自行下载)
font=r'C:\\Windows\\Fonts\\STFANGSO.ttf'#不加这一句显示口字形乱码  ""报错
wordcloud=WordCloud(mask=bj_pic,background_color='white',font_path=font,scale=3.5).generate(text)#img_color = ImageColorGenerator(self.img)
image_colors=ImageColorGenerator(bj_pic)
#显示词云plt.imshow(wordcloud)
plt.axis('off')
plt.show()wordcloud.to_file('test.jpg')

输出结果:

Python生成词云图,TIIDF方法文本挖掘: 词频统计,词云图相关推荐

  1. Python案例:两种方法实现词频统计

    Python案例:两种方法实现词频统计 一.利用字典实现词频统计 1.编写源代码 2.查看运行结果 二.利用collections的Counter模块实现词频统计 <

  2. 文本挖掘(超详细:数据获取 - 数据清洗 - 中文分词 - 去除停用词 - 词频统计 - 词云图 - 情感分析)

    文本挖掘(超详细) 朋友们好,文本挖掘这篇文章写了也有一段时间了,承蒙朋友们的厚爱,作者后面有做过一个升级版的文本挖掘,但苦于没有时间一直没有更新,现在在抽时间把后面写的这个也发布出来,两篇文章的步骤 ...

  3. python数据生成pdf,Python生成pdf文件的方法

    摘要:这篇Python开发技术栏目下的"Python生成pdf文件的方法",介绍的技术点是"python生成pdf文件.python生成pdf.生成pdf文件.Pytho ...

  4. Python生成exe文件的方法

    python生成exe文件的方法: 一.安装 pyinstaller pip install pyinstaller 二.使用 pyinstaller 命令 # 打包成exe,并设置图标 pyinst ...

  5. python 生成html表格和图片,用Python生成HTML表格的方法示例

    在 邮件报表 之类的开发任务中,需要生成HTML表格. 使用Python生成HTML表格基本没啥难度,for循环遍历一遍数据并输出标签即可. 如果需要实现合并单元格,或者按需调整表格样式,就比较麻烦了 ...

  6. 【编译原理】Python实现对一个英文文本的词频统计

    利用Python实现对一个英文文本的词频统计.文本链接:https://www.philippinetimes.com/news/257886068/australia-blocks-chinese- ...

  7. 爬取《政府工作报告》词云展示并做词频统计

    爬取<政府工作报告>词云展示并做词频统计 爬取<政府工作报告内容代码: from requests import * from bs4 import BeautifulSoup r= ...

  8. Python大数据:jieba分词,词频统计

    实验目的 学习如何读取一个文件 学习如何使用DataFrame 学习jieba中文分词组件及停用词处理原理 了解Jupyter Notebook 概念 中文分词 在自然语言处理过程中,为了能更好地处理 ...

  9. python分析红楼梦出现的虚词词频统计,python对红楼梦的每一章节进行词频统计

    python对红楼梦的每一章节进行词频统计 python对红楼梦的每一章节进行词频统计 import jieba f=open("G:\\红楼梦.txt","r" ...

最新文章

  1. php mysql隔离_mysql隔离级别有几种
  2. CoSENT:特征式匹配与交互式匹配有多大差距?
  3. android菜单点击功能怎么做的,单击android中的Menu按钮打开上下文菜单
  4. 《程序员面试金典》输出单层节点
  5. 欢迎广大测试人员,加入微信群,了解自动化测试的框架,检查点,参数化。...
  6. mockjs json数组找不到_【接口测试】JSON 断言中的JSON Path
  7. Lumia 830 win10m 启用触摸按键
  8. 全球编程厉害的14位大佬
  9. 解决报错Duplicate keys detected
  10. Common Language Extension(CLE) 介绍
  11. MySQL 性能优化:8 种常见 SQL 错误用法!
  12. winform 中listBox控件绑定list类型数据源,并设置DisplayMember
  13. 知明:技术 Leader 的思考法
  14. 小猪佩奇源码码,用Python写一个小猪佩奇
  15. 【FLACC】A Greedy Agglomerative Framework for Clustered Federated Learning
  16. 群体智能——激发更多潜能
  17. 14天内购买iPad1代可退100美元或退货
  18. [易信公众账号开发]第一章 序
  19. 直流电机单闭环调速matlab仿真,基于MATLAB的直流电机双闭环调速系统仿真.doc
  20. 势能线段树(吉司机线段树)专题

热门文章

  1. 科技百咖 | 神州云动CEO孙满弟:精细化产品与服务是中国CRM发展的根本
  2. 一生要听的100首英文歌曲
  3. Docker强制删除镜像
  4. 【功能业务篇】APP授权微信登录、绑定账号测试思考
  5. java HmacSHA1 计算
  6. mcrypt php 加密解密,mcrypt启用 加密以及解密过程详细解析
  7. 第七届全国大学生工程训练综合能力竞赛(工训赛) 智能配送无人机赛项 省赛心得
  8. 这4款免费的超实用网站,我真的忍不住分享,太棒了!
  9. 我国土地资源开发利用中存在的主要问题
  10. 光机电一体化高速分拣实训系统