【本文目录】
一、WordCloud所有参数默认值代码示例
二、WordCloud常用参数自定义代码示例——《水调歌头·明月几时有》
一、WordCloud所有参数默认值代码示例
目前官方定义的WordCloud所有参数及其含义如下代码中所示:
也可查阅本系列第二篇文章扩展一二(wordcloud词云入门系列(二):安装与WordCloud类等API介绍)。
代码示例
import wordcloud
parameter_text = """font_path, width, height, margin, ranks_only,
prefer_horizontal, mask, scale, color_func,
max_words, min_font_size, stopwords, random_state,
background_color, max_font_size, font_step,
mode, relative_scaling, regexp=None, collocations,
colormap, normalize_plurals, contour_width,
contour_color, repeat, include_numbers,
min_word_length
"""
# wordcloud默认不支持显示中文,中文会显示为方框。故需先设置好中文字体
# 以下字体为Windows系统中C:\Windows\Fonts中的微软雅黑
font = r'C:\Windows\Fonts\msyh.ttf'
# 实例化对象,以下参数值全为WordCloud默认值
parameter = wordcloud.WordCloud(
font_path=None, # 字体路径,默认为空且不支持中文。若要显示中文需指定中文字体路径
width=400, # 词云图片宽度
height=200, # 词云图片高度
margin=2, # 词云行间距,即词与词的垂直距离
ranks_only=None,
prefer_horizontal=0.9, # 水平与垂直拟合比,值越大则水平显示词数越多
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', # 取值0到1之间浮点数。默认为auto,当repeat为False时为0,True时为1
# 值为0仅考虑词频排名,值为1则词频2倍大小也是两倍,0.5左右通常看起来不错
regexp=None, # 正则表达式
collocations=True, # 是否包括两个单词的搭配(字母组合)
colormap=None, # 颜色图
normalize_plurals=True, # 是否从词中删除结尾的“s”
contour_width=0, # 词云形状边宽宽度
contour_color='black', # 词云形状边宽颜色
repeat=False, # 是否重复词
include_numbers=False, # 是否包含数字
min_word_length=0 # 一个词必须包含的最小字母数
)
# 调用generate方法将文本传入生成wordcloud
parameter.generate(parameter_text)
# 调用to_file方法导出图像文件,支持.jpg、.png、.tif、.bmp等多格式
parameter.to_file("test3_WordCloud_allDefaultParameter.jpg")
为美化代码表达,方便阅读。笔者特意将parameter_text的赋值采用长文本的形式,并采用换行形式表达,这里将WordCloud所有参数列出。此外,对于wordcloud.WordCloud类实例化的参数赋值(此处全为默认值),也是一行一参数,并且采用列尽量对齐方式,给人以干净整洁之美感。你也可以试试喔!
输出成果
二、WordCloud常用参数自定义代码示例——《水调歌头·明月几时有》
上一篇文章对东坡先生的《水调歌头·明月几时有》进行了词云展示,但是效果还可不太尽如人意。接下来就尝试设置各类参数看看变化吧。
(一)设置宽度、高度、背景颜色
代码示例
# encoding = ‘utf-8’
import wordcloud
poetry_text = """
《水调歌头·明月几时有》
宋代:苏轼
丙辰中秋,欢饮达旦,大醉,作此篇,兼怀子由。
明月几时有?把酒问青天。
不知天上宫阙,今夕是何年。
我欲乘风归去,又恐琼楼玉宇,高处不胜寒。
起舞弄清影,何似在人间?
转朱阁,低绮户,照无眠。
不应有恨,何事长向别时圆?
人有悲欢离合,月有阴晴圆缺,此事古难全。
但愿人长久,千里共婵娟。
"""
# wordcloud默认不支持显示中文,中文会显示为方框。故需先设置好中文字体
# 以下字体为Windows系统中C:\Windows\Fonts中的微软雅黑
font = r'C:\Windows\Fonts\msyh.ttf'
# 实例化对象
poetry = wordcloud.WordCloud(font_path=font,
width=1920,
height=1080,
background_color='white')
# 调用generate方法将文本传入生成wordcloud
poetry.generate(poetry_text)
# 调用to_file方法导出图像文件,支持.jpg、.png、.tif、.bmp等多格式
poetry.to_file("test4_setWidHigtBg.jpg")
输出成果
(二)scale有直接变大小的魔力
代码示例
# 为节省版面,这里仅贴出参数设置代码部分
poetry = wordcloud.WordCloud(font_path=font,
scale=6,
background_color='white')
输出成果
设置width=1920、height=1080,生成图片尺寸为1920*1080,大小224KB
仅设置scale=6,生成图片尺寸为2400*1200(是默认值的6倍),大小277KB
运行程序过程中,或许你也可以感知到后者仅设置scale的时候速度要快些。
(三)设置prefer_horizontal看看
代码示例
poetry = wordcloud.WordCloud(font_path=font,
scale=6,
background_color='white',
prefer_horizontal=1.5)
输出成果
哈哈,大家来找茬~和上面比较发现有什么不同了吗?
(四)stopwords也来凑热闹
代码示例
poetry = wordcloud.WordCloud(font_path=font,
scale=6,
background_color='white',
stopwords=["水调歌头","明月几时有","宋代","苏轼"])
输出成果
现在想得起来,咱们可爱滴东坡先生是哪个朝代的吗?(不要看答案噢~)
(五)保持什么距离比较好呢
1.改变margin的值
代码示例
poetry = wordcloud.WordCloud(font_path=font,
scale=6,
background_color='white',
margin=20)
输出成果
2.改变font_step的值
代码示例
poetry = wordcloud.WordCloud(font_path=font,
scale=6,
background_color='white',
font_step=10)
输出成果
好啦~今天到此,不一一展示了,大家可以自己动手试试看。先偷偷告诉你哦,好戏在后头,wordcloud高端玩法,且看后续精彩。
☺引用转载还请注明作者说明出处哟!☺