概述
wordcloud是优秀的词云展示第三方库,以词语为基本单位,通过图形可视化的方式,更加直观和艺术的展示文本。
库安装
网络正常情况下命令行输入pip install wordcloud
,如果提示报错按以下步骤进行安装
- pip安装wordcloud过程中提示pip工具版本低,需pip-10.0.1版本,需先更新pip包管理工具
python -m pip install --upgrade pip
- pip更新到最新版本后还是安装wordcloud报错。
- 先下载wordcloud‑1.4.1‑cp36‑cp36m‑win_amd64.whl安装包到本地目录, python为3.6.x版本的下载cp36的包,注意不要下cp37,安装不了的。
- 打开命令行窗口,进入到安装包所在目录位置如 D:\download
- 输入
pip install wordcloud-1.4.1-cp36-cp36m-win_amd64.whl
回车安装即可。
基本使用
wordcloud 库把词云当作一个WordCloud对象
- wordcloud.WordCloud()代表一个文本对应的词云
- 可以根据文本中词语出现的频率等参数绘制词云
- 绘制词云的形状、尺寸和颜色均可设定
- 以WordCloud对象为基础,配置参数、加载文本、输出文件
常规方法
w= wordcloud.WordCloud()
方法 | 描述 |
---|---|
w.generate() | 向WordCloud对象中加载文本txt>>>w.generate("Python and WordCloud") |
w.to_file(filename) | 将词云输出为图像文件,.png或.jpg格式>>>w.to_file("outfile.png") |
import wordcloud
c=wordcloud.WordCloud() #1.配置对象参数
c.generate("wordcloud by python") #2.加载词云文本
c.to_file("pywordcloud.png") #3.输出词云文件
wordcloud如何将文本转化为词云
- 1.分隔:以空格分隔单词
- 2.统计:单词出现次数并过滤
- 3.字体:根据统计配置字号
- 4.布局:颜色环境尺寸
配置对象参数
w= wordcloud.WordCloud(<参数>)
参数 | 描述 |
---|---|
width | 指定词云对象生成图片的宽度,默认400像素w=wordcloud.WordCloud(width=600) |
height | 指定词云对象生成图片的高度,默认200像素w=wordcloud.WordCloud(height=400) |
min_font_size | 指定词云中字体的最小字号,默认4号w=wordcloud.WordCloud(min_font_size=10) |
max_font_size | 指定词云中字体的最大字号,根据高度自动调节w=wordcloud.WordCloud(max_font_size=20) |
font_step | 指定词云中字体字号的步进间隔,默认为1w=wordcloud.WordCloud(font_step=2) |
font_path | 指定文体文件的路径,默认Nonew=wordcloud.WordCloud(font_path="msyh.ttc") |
max_words | 指定词云显示的最大单词数量,默认200w=wordcloud.WordCloud(max_words=20) |
stop_words | 指定词云的排除词列表,即不显示的单词列表w=wordcloud.WordCloud(stop_words="Python") |
mask | 指定词云形状,默认为长方形,需要引用imread()函数from scipy.msc import imread mk=imread("pic.png") w=wordcloud.WordCloud(mask=mk) |
background_color | 指定词云图片的背景颜色,默认为黑色w=wordcloud.WordCloud(background_color="white") |
应用实例
import wordcloud
txt ="life is short,you need python"
w=wordcloud.WordCloud(background_color="white")
w.generate(txt)
w.to_file("pywcloud.png")
import jieba
import wordcloud
txt="程序设计语言是计算机能够理解和识别用户操作意图的一种交互体系,它按照特定规则组织计算机指令,使计算机能够自动进行各种运算处理。"
w=wordcloud.WordCloud(width=1000,font_path="C:\\Windows\\Fonts\\msyh.ttf",height=700)
w.generate(" ".join(jieba.lcut(txt)))
w.to_file("computerlanguage.png")