python wordcloud路径_Python:wordcloud
1、简介
wordcloud是优秀的词云展示的第三方库
2、导入模块
import wordcloud
3、wordcloud对象初始化
以下参数值均为官方文档给出的默认值
w=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='auto',
regexp=None,
collocations=True,
colormap=None,
normalize_plurals=True,
contour_width=0,
contour_color='black',
repeat=False,
include_numbers=False,
min_word_length=0,
collocation_threshold=30)
参数含义:
参数
类型
默认值
说明
font_path
string
字体文件路径,如果是中文词云,则该路径必须指向一个中文字体,否则会出错
width
int
400
画布宽度
height
int
200
画布高度
margin
int
2
离画布边缘的距离
prefer_horizontal
float
0.9
水平展示词语与垂直展示词语的数量比
mask
nd-array 或None
None
蒙版;如果给出了mask,那么width与height将不起作用,而是代之以mask——词云将生成于mask区域内;mask以外背景部分将填充以纯白色。
contour_width
float
0
启用mask时,该项表示mask的轮廓线宽度
contour_color
color value
'black'
mask轮廓线的颜色
scale
float
1
程序运行过程中,用于绘图和计算的时间比。对于大型词云,使用scale会明显更快,但会导致更粗糙的文字图形。更大的scale会有更精细文字图形,因为有更多的时间去参与绘图。
min_font_size
int
4
最小的字体大小。当图形中没有更多的空间可以容纳最小字体时,程序运行完毕。
font_step
int
1
不同等级间文字大小的差异。大于1时,程序运行速度加快,但结果图不太好看
max_words
number
200
词云中的最大词语数
stopwords
string list
或
None
None
一个停用词表,停用词表中的词将不会用于词云构建。当使用generate_from_frequencies()时该参数将会被忽略
random_state
数字
None
随机数种子,同一个种子对应的随机数序列相同
background_color
color value
'black'
背景色
max_font_size
int
或
None
None
最大词的尺寸。如果设置为None,将自动设置为图形高度
mode
string
'RGB'
如果设置为'RGBA',并且background_color设置为None时,将采用透明的背景
relative-scaling
float
'auto'
词频对词云中词语大小的重要性。取0时,大小仅与词语等级有关;取1时,如果某词语的词频是另一词语的两倍,那它在词云中的大小也是该词语的两倍。
如果想综合考虑词频与词语等级,0.5附近不错。
默认为'auto'即0.5。
当repeat参数为True时,该项将被设置为0
color_func
callable
None
callable对象,表示为每个单词设置一个PIL color,详见官网
regexp
string
或
None
None
用于分割输入文本的正则表达式,格式为r'表达式';如果设置为None,将采用r'\w[\w']+';
当使用generate_from_frequencies()时,该参数会被忽略
collocations
bool
True
是否包含双单词词语(bigram)(针对英文);
当使用generate_from_frequencies()时,该参数会被忽略
colormap
string
或
matplotlib colormap
'viridis'
一个Matplotlib颜色表,在词云中绘制时将为每个词语随机取该表中的颜色;
当指定了color_func参数时,该参数会被忽略
normalize_plurals
bool
True
是否移除复数单词而把它的词频计入其单数形式中。
当使用generate_from_frequencies()时,该参数会被忽略
repeat
bool
False
当max_words或min_foont_size达到时,是否重复某些单词以填充剩余空白
include_numbers
bool
False
是否包含数字
min_word_length
int
0
一个词语最少包含的字母数
collation_threshold
int
30
双单词词语(bigrams)被认为是一个正确英文词语的阈值标准,具体见官网
补充:
1、画布越大,程序越慢。如果想快速获得大的词云,有两种方法:a、设置小的画布;b、使用scale参数
2、构建词云时,词语等级比词频的权重更大,二者的比重可以通过参数relative_scaling修改,当然默认参数'auto'就已经很好了(至于什么是词语等级,笔者也不清楚,可能是英文专有的某个等级吧,希望有明白的人可以帮我解答一下)
3、处理中文文本时,font_path必须指向一个中文文字的ttf文件,例如
font_path='C:/Windows/Fonts/simhei.ttf'
否则原方法将会识别不了中文
4、参数mask为,从外部通过scipy.misc.imread( filename )读入的png文件,例如:
from scipy.misc importimread
M=imread('picture.png')
w=wordcloud.WordCloud(mask=M)
4、方法
w=wordcloud.WordCloud(...)
w.func()
这里的func可以是以下方法:
方法
说明
fit_words(frequencies)
从{词语:词频}的dict对象生成词云
generate_from_frequencies(frequencies)
同上
generate(text)
从文本数据(string类型)生成词云
generate_from_text(text)
同上
process_text(text)
将一个长文本划分为词语,消除其中的停用词
recolor([random_state , color_func , colormap])
重新设置颜色模式
to_array()
将词云转化为一个数字数组
to_file(filename)
输出为image文件(文件类型为filename的后缀)
to_svg([embed_font , optimize_embedded_font,...])
输出为SVG文件
补充:
1、在用文本数据生成词云时,由于中英文差异——英文一个单词就表示一个词语,中文词语还需要根据语境识别,所以制作中文词云时,必须先用jieba库进行词性划分(详见:jieba:统计一篇文章中词语数 - ShineLe - 博客园),然后以空格形式将这些词语连接起来,使其具有与英文词语一样的形式(英文词语都是以空格分开),之后再使用generate(text)、generate_from_text(text)方法提取时才不会出错。否则直接读取一篇正常的中文文章并用上述两种方法,一定会出错的!
代码:使用jieba库对中文文章进行词性划分,并用空格连接
importjiebaimportredefclean(line):
pattern= re.compile(u'[^\u4e00-\u9fa5]')
line= re.sub(pattern,'',line)returnline
with open('《边城》.txt' , 'r' , encoding='utf-8') as f:
s=f.read() #读取原文本
s=clean(s) #删除其中符号、数字等非中文字符
words=jieba.lcut(s)
ch2eng=' '.join(words) #用空格连接中文词语,构成一个完整的字符串
2、如果已经有词语和词频数据,可以通过方法fit_words(frequencies)、generate_from_frequencies(frequencies)构建词云,这里的frequencies是dict对象或Counter对象,数据组织形式为{ '词语1':词频 , '词语2':词频 , ...},例如
{ '翠翠':439 , '祖父':270 , ...},这种数据可以通过collections.Counter()得到(具体方法见:Python:计数器collections.Counter - ShineLe - 博客园 和 jieba:统计一篇文章中词语数 - ShineLe - 博客园 第七部分例子①)。需要注意的是,Counter()的返回值是Counter类型,并不是dict类型,虽然二者很像。
把Counter类型转换为Dict的方法是
result_Counter=Counter(wordlist)
result_list= sorted(result_Counter.items(), key=lambda item: item[1], reverse=True)
result_dict= dict(result_list)
先用sorted()函数进行排序,得到排序后的list类型,再用dict()将list转化为dict类型
5、显示
plt.imshow(w) #w为wordcloud对象
plt.axis('off')
plt.show()
6、保存
w.to_file('cloud.png')
python wordcloud路径_Python:wordcloud相关推荐
- python设置路径_Python探索之修改Python搜索路径
当Python执行import语句时,它会在一些路径中搜索Python模块和扩展模块.可以通过sys.path查看这些路径,比如: >>> import sys >>&g ...
- python存放路径_python文件路径操作方法总结
在python中,文件使用十分频繁,本文将向大家介绍python文件路径的操作:得到指定文件路径.得到当前文件名.判断文件路径是否存在.获得指定文件夹下所有文件.获得文件后缀.拼接路径和文件名. 1. ...
- python import 路径_Python 从相对路径下import的方法
例如我们有如下结构的文件: pkg/ __init__.py libs/ some_lib.py __init__.py components/ code.py __init__.py 如果我们想要在 ...
- python import 路径_python import 上级目录的导入
python import 上级目录的导入,路径,上级,文件,目录,递归 python import 上级目录的导入 易采站长站,站长之家为您整理了python import 上级目录的导入的相关内容 ...
- python编译器路径_python编译器安装教程以及环境变量配置
python解释器安装教程以及环境变量配置 python解释器安装教程 Python作为一门编程语言,其魅力远超C#,JАVa,C,C++,它被称为"胶水语言",更被热爱它的程序猿 ...
- python合并路径_python url合并与分离
#!/bin/python3 from urllib import parse parse.urlsplit() 将url分为6个部分,返回一个包含6个字符串项目的元组:协议.位置.路径.参数.查询. ...
- doc python 颜色_Python wordcloud.ImageColorGenerator方法代码示例
本文整理汇总了Python中wordcloud.ImageColorGenerator方法的典型用法代码示例.如果您正苦于以下问题:Python wordcloud.ImageColorGenerat ...
- Python 数据可视化:WordCloud 词云的构建
WordCloud 官方文档:https://amueller.github.io/word_cloud/index.html WordCloud GitHub 地址:https://github.c ...
- Python第三方库〖 wordcloud 〗
Python第三方库[ wordcloud ] 1. 简介 2. 安装方法 3. 基本使用方法 4. 配置对象参数 5. 测试程序 1. 简介 wordcloud: 优秀的词云展示第三方库,以词语为基 ...
最新文章
- 【Android 面试基础知识点整理】
- CentOS7防火墙firewalld和iptable的设置和使用
- 20135337朱荟潼——实验三
- 外观模式(Façade Pattern)
- 【VS C++ 2010】查看内存的方法详解
- 程序员求助:被领导强行要求写Bug该怎么办?网友的回答让我笑翻
- ZH奶酪:【阅读笔记】Deep Learning, NLP, and Representations
- Android Studio(五):修改Android Studio项目包名
- Android加载网络GIF完整解决方案
- python批量音频转格式_ffmpeg 转为16K PCM格式,python生成批量转码脚本
- 倒计时3天!这届XIN公益大会很不一般!
- android 标准时间格式,android开发中关于含有中文字段的格林尼治标准时间的时间格式转换...
- App uni.downloadFile ios问题
- 杭州旅游1-2日最佳路线
- 基于驱动框架编写驱动代码
- 只能输入中文,及中文标点符号正则/只能输入英文,及英文标点符号正则
- 计算机专业海报加文字,PS制作简洁漂亮的文字主题海报 -电脑资料
- 列车调度(贪心):单机调度问题贪心算法
- Uboot中lpddr4的初始化(i.MX8M)
- 虚拟现实 VR + 3D 可视化:场景一体化高阶管控平台
热门文章
- linux usermod命令
- java 通配符_Java中的通配符匹配
- RGB颜色值与十六进制颜色码怎么相互转换?
- 电子签名?玩具罢了!(web前端)
- java steam collect_Java8 如何进行stream reduce,collection操作
- HP服务器硬盘坏了一块,教你如何快速更换
- Iphone开发中的web开发
- 原来华为云账号,竟有这些你不知道的“猫腻”?
- cocos源码分析--SpriteBatchNode绘图原理(转--侵删)
- MonkeyRunner API(一)