python词云库wordcloud的使用方法与实例详解


Posted in Python onFebruary 17, 2020

wordcloud是优秀的词云展示第三方库

python词云库wordcloud的使用方法与实例详解

一、基本使用

import jieba
import wordcloud
txt = open("1.txt", "r", encoding='utf-8').read()

words = jieba.lcut(txt)
txt_1 = " ".join(words)
# print(txt1)
w = wordcloud.WordCloud(font_path="msyh.ttc",
      width=1000, height=700, background_color="white",
      )
w.generate(txt_1)
w.to_file("ciyun.png")

二、按图片形状生成

import jieba
from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator
import numpy as np
from PIL import Image

txt = open("C:/Users/96356/Desktop/1.txt", "r", encoding='utf-8').read()

words = jieba.lcut(txt)
txt_1 = " ".join(words)
photo = np.array(Image.open('C:/Users/96356/Desktop/2.png'))
# from scipy.misc import imread
# china=imread('C:/Users/96356/Desktop/2.png') #scipy.misc方式都可以读取图片

w = WordCloud(font_path="msyh.ttc",
    mask=photo,
    background_color="white",
    )
w.generate(txt_1)
w.to_file("ciyun.png")

三、WordCloud参数详解

from wordcloud import WordCloud

参数 作用
font_path 字体路径,需要展现什么字体就把该字体路径+后缀名写上,如:font_path = ‘黑体.ttf'
width 输出的画布宽度,默认为400像素
height 输出的画布高度,默认为200像素
prefer_horizontal 词语水平方向排版出现的频率,默认 0.9 (所以词语垂直方向排版出现频率为 0.1 )
mask 如果参数为空,则使用二维遮罩绘制词云。如果 mask 非空,设置的宽高值将被忽略,遮罩形状被 mask 取代。除全白(#FFFFFF)的部分将不会绘制,其余部分会用于绘制词云。如:bg_pic = imread(‘读取一张图片.png'),背景图片的画布一定要设置为白色(#FFFFFF),然后显示的形状为不是白色的其他颜色。可以用ps工具将自己要显示的形状复制到一个纯白色的画布上再保存,就ok了。一般为mask=np.array(Image.open(‘xxx.jpg'))。其中from PIL import Image
scale 按照比例进行放大画布,如设置为1.5,则长和宽都是原来画布的1.5倍
min_font_size 显示的最小的字体大小
font_step 字体步长,如果步长大于1,会加快运算但是可能导致结果出现较大的误差
max_words 要显示的词的最大个数
stopwords 设置需要屏蔽的词,如果为空,则使用内置的STOPWORDS
background_color 背景颜色,如background_color=‘white',背景颜色为白色
max_font_size 显示的最大的字体大小
mode 当参数为“RGBA”并且background_color不为空时,背景为透明
relative_scaling 词频和字体大小的关联性
color_func 生成新颜色的函数,如果为空,则使用 self.color_func
regexp 使用正则表达式分隔输入的文本
collocations 是否包括两个词的搭配
colormap 给每个单词随机分配颜色,若指定color_func,则忽略该方法
random_state 为每个单词返回一个PIL颜色

其他部分函数

函数 作用
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) 输出到文件

更多关于python词云库wordcloud的使用方法请查看下面的相关文章

Python 相关文章推荐
Python中列表、字典、元组、集合数据结构整理
Nov 20 Python
Python THREADING模块中的JOIN()方法深入理解
Feb 18 Python
Python使用xlrd读取Excel格式文件的方法
Mar 10 Python
python类:class创建、数据方法属性及访问控制详解
Jul 25 Python
玩转python selenium鼠标键盘操作(ActionChains)
Apr 12 Python
numpy中实现二维数组按照某列、某行排序的方法
Apr 04 Python
详解PyCharm+QTDesigner+PyUIC使用教程
Jun 13 Python
对Django 转发和重定向的实例详解
Aug 06 Python
Python对Tornado请求与响应的数据处理
Feb 12 Python
基于Python实现下载网易音乐代码实例
Aug 10 Python
Python机器学习之PCA降维算法详解
May 19 Python
解决Python中的modf()函数取小数部分不准确问题
May 28 Python
tensorflow保持每次训练结果一致的简单实现
Feb 17 #Python
Python基于Socket实现简单聊天室
Feb 17 #Python
TFRecord文件查看包含的所有Features代码
Feb 17 #Python
tensorflow之tf.record实现存浮点数数组
Feb 17 #Python
Python读取表格类型文件代码实例
Feb 17 #Python
基于Python获取docx/doc文件内容代码解析
Feb 17 #Python
Python多线程获取返回值代码实例
Feb 17 #Python
You might like
PHP函数实现从一个文本字符串中提取关键字的方法
2015/07/01 PHP
PHP文件上传问题汇总(文件大小检测、大文件上传处理)
2015/12/24 PHP
Javascript----文件操作
2007/01/18 Javascript
jquery 多行滚动代码(附详细解释)
2010/06/17 Javascript
jquery 3D球状导航的文章分类
2010/07/06 Javascript
使用JavaScript检测Firefox浏览器是否启用了Firebug的代码
2010/12/28 Javascript
js之事件冒泡和事件捕获详细介绍
2013/10/28 Javascript
通过onmouseover选项卡实现img图片的变化
2014/02/12 Javascript
jQuery仿360导航页图标拖动排序效果代码分享
2015/08/24 Javascript
Javascript实现快速排序(Quicksort)的算法详解
2015/09/06 Javascript
详解JavaScript中localStorage使用要点
2016/01/13 Javascript
JS匿名函数类生成方式实例分析
2016/11/26 Javascript
jQuery自定义元素右键点击事件(实现案例)
2017/04/28 jQuery
ES6模块化的import和export用法方法总结
2017/08/08 Javascript
Nodejs连接mysql并实现增、删、改、查操作的方法详解
2018/01/04 NodeJs
Vue2.5学习笔记之如何在项目中使用和配置Vue
2018/09/26 Javascript
vue canvas绘制矩形并解决由clearRec带来的闪屏问题
2019/09/02 Javascript
Vue项目中使用better-scroll实现菜单映射功能方法
2019/09/11 Javascript
jQuery实现移动端下拉展现新的内容回弹动画
2020/06/24 jQuery
[00:57]林俊杰助阵DOTA2亚洲邀请赛
2015/01/28 DOTA
appium+python adb常用命令分享
2020/03/06 Python
python使用matplotlib绘制折线图的示例代码
2020/09/22 Python
Python利用Pillow(PIL)库实现验证码图片的全过程
2020/10/04 Python
手把手教你用Django执行原生SQL的方法
2021/02/18 Python
TensorFlow的环境配置与安装方法
2021/02/20 Python
平面设计师工作职责范文
2013/12/03 职场文书
大学三年的自我评价
2013/12/25 职场文书
学习三严三实对照检查材料思想汇报
2014/09/22 职场文书
领导个人查摆剖析材料
2014/10/29 职场文书
债务纠纷代理词
2015/05/25 职场文书
居住证明范文
2015/06/17 职场文书
鲁滨孙漂流记读书笔记
2015/06/30 职场文书
爱国教育主题班会
2015/08/14 职场文书
争做文明公民倡议书
2019/06/24 职场文书
Java获取e.printStackTrace()打印的信息方式
2021/08/07 Java/Android
Alexa停服!网站排名将何去何从?目前还没有替代品。
2022/04/15 杂记