python词云图素材_用Python制作酷炫词云图,原来这么简单!

一、简介

词云图是文本挖掘中用来表征词频的数据可视化图像,通过它可以很直观地展现文本数据中地高频词:!

a89209f7c4b5

a89209f7c4b5

图1 词云图示例

在Python中有很多可视化框架可以用来制作词云图,如pyecharts,但这些框架并不是专门用于制作词云图的,因此并不支持更加个性化的制图需求,要想创作出更加美观个性的词云图,需要用到一些专门绘制词云图的第三方模块,本文就将针对其中较为优秀易用的wordcloud以及stylecloud的用法进行介绍和举例说明。

二、利用wordcloud绘制词云图

wordcloud是Python中制作词云图比较经典的一个模块,赋予用户高度的自由度来创作词云图:

图2 wordcloud制作词云图示例

a89209f7c4b5

2.1 从一个简单的例子开始

这里我们使用到来自wordcloud官方文档中的constitution.txt来作为可视化的数据素材:

图3 constitution.txt

a89209f7c4b5

首先我们读入数据并将数据清洗成空格分隔的长字符串:

importre

withopen(‘constitution.txt’)asc:

‘’’抽取文本中的英文部分并小写化,并将空格作为分隔拼接为长字符串’’’

text =‘ ‘.join([word.group().lower()forwordinre.finditer(‘[a-zA-Z]+’, c.read())])

‘’’查看前100个字符’’’

text[:500]

a89209f7c4b5

图4 清洗后的片段文本

接着使用wordcloud中用于生成词云图的类WordCloud配合matplotlib,在默认参数设置下生成一张简单的词云图:

fromwordcloudimportWordCloud

importmatplotlib.pyplotasplt

%matplotlib inline

‘’’从文本中生成词云图’’’

wordcloud = WordCloud().generate(text)

plt.figure(figsize=[12,10])

plt.imshow(wordcloud)

plt.axis(‘off’)

plt.show()

生成的词云图:

图5 默认参数下的词云图

a89209f7c4b5

毕竟是在默认参数下生成的词云图,既丑陋又模糊,为了绘制好看的词云图,接下来我们来对wordcloud绘制词云图的细节内容进行介绍,并不断地对图5进行升级改造。

2.2 WordCloud

作为wordcloud绘制词云图最核心的类,WordCloud的主要参数及说明如下:

fontpath:字符型,用于传入本地特定字体文件的路径(ttf或otf文件)从而影响词云图的字体族

width:int型,用于控制词云图画布宽度,默认为400

height:int型,用于控制词云图画布高度,默认为200

prefer_horizontal:float型,控制所有水平显示的文字相对于竖直显示文字的比例,越小则词云图中竖直显示的文字越多

mask:传入蒙版图像矩阵,使得词云的分布与传入的蒙版图像一致

contour:float型,当mask不为None时,contour参数决定了蒙版图像轮廓线的显示宽度,默认为0即不显示轮廓线

contour_color:设置蒙版轮廓线的颜色,默认为’black’

scale:当画布长宽固定时,按照比例进行放大画布,如scale设置为1.5,则长和宽都是原来画布的1.5倍

min_font_size&

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值