【Python 3+】wordcloud词云入门系列(四):WordCloud常用参数代码示例比较分析

【本文目录】
一、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类实例化的参数赋值(此处全为默认值),也是一行一参数,并且采用列尽量对齐方式,给人以干净整洁之美感。你也可以试试喔!

输出成果

test3_WordCloud_allDefaultParameter.jpg

二、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")

输出成果

test4_setWidHigtBg.jpg

(二)scale有直接变大小的魔力

代码示例

# 为节省版面,这里仅贴出参数设置代码部分
poetry = wordcloud.WordCloud(font_path=font,
                             scale=6,
                             background_color='white')

输出成果

test5_setScaleBg.jpg

设置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)

输出成果

test6_setPrefer_horizontal.jpg

哈哈,大家来找茬~和上面比较发现有什么不同了吗?

(四)stopwords也来凑热闹

代码示例

poetry = wordcloud.WordCloud(font_path=font,
                             scale=6,
                             background_color='white',
                             stopwords=["水调歌头","明月几时有","宋代","苏轼"])

输出成果

test7_setStopwords.jpg

现在想得起来,咱们可爱滴东坡先生是哪个朝代的吗?(不要看答案噢~)

(五)保持什么距离比较好呢

1.改变margin的值

代码示例

poetry = wordcloud.WordCloud(font_path=font,
                             scale=6,
                             background_color='white',
                             margin=20)

输出成果

test8_setMargin.jpg

2.改变font_step的值

代码示例

poetry = wordcloud.WordCloud(font_path=font,
                             scale=6,
                             background_color='white',
                             font_step=10)

输出成果

test9_setFont_step.jpg


好啦~今天到此,不一一展示了,大家可以自己动手试试看。先偷偷告诉你哦,好戏在后头,wordcloud高端玩法,且看后续精彩。

☺引用转载还请注明作者说明出处哟!☺

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,039评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,223评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,916评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,009评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,030评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,011评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,934评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,754评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,202评论 1 309
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,433评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,590评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,321评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,917评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,568评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,738评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,583评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,482评论 2 352

推荐阅读更多精彩内容