前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WordCloud词云库快速入门(一)

WordCloud词云库快速入门(一)

作者头像
陈南GISer
发布2021-09-14 11:34:23
1.3K0
发布2021-09-14 11:34:23
举报
文章被收录于专栏:点点GIS

WordCloud简介

wordcloud是优秀的词云展示第三方库,以词语为基本单位,通过图形可视化的方式,更加直观和艺术的展示文本。

安装

代码语言:javascript
复制
pip install wordcloud#安装

绘制一个超级简单的词云

代码语言:javascript
复制
import wordcloud
c=wordcloud.WordCloud()#1.配置对象参数
wenzi = "He is busy every day. He has many thing to do. He has no time to go home for lunch. He gets home at 7:00 p.m. At home he does the housework. He cooks nice dishes for mother and me."
c.generate(wenzi) #2.加载词云文本
c.to_file("pywordcloud.png")#3.输出词云文件

参数

他是默认输出,看起来有点丑,我们把背景换成白色试试

代码语言:javascript
复制
import wordcloud
c = wordcloud.WordCloud(background_color='white')#1.配置对象参数,背景色换为白色
wenzi = "He is busy every day. He has many thing to do. He has no time to go home for lunch. He gets home at 7:00 p.m. At home he does the housework. He cooks nice dishes for mother and me."
c.generate(wenzi)  #2.加载词云文本
c.to_file("pywordcloud.png")#3.输出词云文件

可以看出,我们能通过更改参数来控制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:int型,控制词云图中最小的词对应的字体大小,默认为4 max_font_size:int型,控制词云图中最大的词对应的字体大小,默认为200 max_words:int型,控制一张画布中最多绘制的词个数,默认为200 stopwords:控制绘图时忽略的停用词,即不绘制停用词中提及的词,默认为None,即调用自带的停用词表(仅限英文,中文需自己提供并传入) background_color:控制词云图背景色,默认为’black’ mode:当设置为’RGBA’且background_color设置为None时,背景色变为透明,默认为’RGB’ relative_scaling:float型,控制词云图绘制字的字体大小与对应字词频的一致相关性,当设置为1时完全相关,当为0时完全不相关,默认为0.5 color_func:传入自定义调色盘函数,默认为None colormap:对应matplotlib中的colormap调色盘,默认为viridis,这个参数与参数color_func互斥,当color_func有函数传入时本参数失效 repeat:bool型,控制是否允许一张词云图中出现重复词,默认为False即不允许重复词 random_state:控制随机数水平,传入某个固定的数字之后每一次绘图文字布局将不会改变

不同形状的词云

接下来,我们在这个词云的基础上添加一个五角星

利用PIL模块读取我们的五角星图片文件并转换为numpy数组,作为WordCloud的mask参数传入:

代码语言:javascript
复制
from PIL import Image
import numpy as np
ziyan_mask = np.array(Image.open(r'C:\Users\Administrator\Desktop\R-C.png'))#读取图片
c = wordcloud.WordCloud(background_color='white',mask = ziyan_mask)#1.配置对象参数,背景色换为白色
wenzi = "He is busy every day. He has many thing to do. He has no time to go home for lunch. He gets home at 7:00 p.m. At home he does the housework. He cooks nice dishes for mother and me."
c.generate(wenzi)  #2.加载词云文本
c.to_file("pywordcloud.png")#3.输出词云文件

虽然有点丑,但大概就是这个意思~~~,,,明天见

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 点点GIS 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • WordCloud简介
  • 安装
  • 参数
  • 不同形状的词云
相关产品与服务
腾讯云图数据可视化
腾讯云图数据可视化(Tencent Cloud Visualization) 是一站式数据可视化展示平台,旨在帮助用户快速通过可视化图表展示大量数据,低门槛快速打造出专业大屏数据展示。精心预设多种行业模板,极致展示数据魅力。采用拖拽式自由布局,全图形化编辑,快速可视化制作。腾讯云图数据可视化支持多种数据来源配置,支持数据实时同步更新,同时基于 Web 页面渲染,可灵活投屏多种屏幕终端。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档