关键词采集词(数据分析届专属表白神器——词云图的制作工具)
优采云 发布时间: 2021-09-01 06:31今天520,一个早上刷朋友圈满满的都是狗粮,各种花式表白,什么程序员写代码表白,短视频表白,微信暗模式切换表白..... ... 其实我们的数据分析环节也有我们专属的表白神器:词云图,比如导出微信聊天记录生成词云图是这样的:
在数据可视化图表中,词云图是一种视觉冲击力很强的图表。对输入的文本进行词频提取,然后根据词的出现频率集中展示高频词,简洁、直观、高效。
词云图应该怎么做?有什么好用的工具吗?百度易搜将在*敏*感*词*展示多款词云图片网站和软件。试了20多种,有的用起来很鸡肋,有的要收费。我选择了其中的 5 个。把制作词云图的工具分享给大家,大家可以学习一下
在线词云生成工具网站网上有很多在线词云生成工具,毕竟在线网站不需要下载软件,使用起来又快又方便,对比了几个模型,感觉这两个平台都比较好用:
1.艺术字
网址:/
优点:无需注册即可使用,热词数量没有限制。支持字体、形状等个性化配置。在线词云支持互动查看。
缺点:操作界面是英文的,比较鸡肋,而且是国外的网站,网页加载速度特别慢。只有一种字体支持中文,权限问题无法添加本地字体。
制作效果如下,每个中文都有乱码:
2.微词云
网址:/
优点:支持自动文本分析,提供大量形状模板,也支持自定义模板。字体支持种类多,图片颜色种类多,还有渐变色,操作比较简单
缺点:要注册,免费图片有水印,字数有限制
数据分析软件工具。网页在线生成工具和桌面软件制作词云图本质上是一样的。我建议您使用 BI 工具来完成。专业的数据可视化分析软件可以做出除了词云图之外的其他体验。数据可视化操作简单,适合数据分析师入门。
1、FineBI
下载地址:/
商业智能分析工具,国产软件,*敏*感*词*永久免费。生成可视化图表非常简单。词云图的创建也不例外。将数据源加载到FineBI界面后,选择图表的词云图,将热词拖放词频到对应的设置框,图表会自动生成。
2、tableau
下载地址:/
tableau 是*敏*感*词*知名的商业智能工具。可视化功能非常强大。做一般的可视化分析很方便,但是需要收费。具体制作步骤与上述FineBI类似,需要提前完成数据源。词频统计。
这两个工具的定位是商业智能软件,专注于数据分析。词云图不是强项。它们适用于正常的视觉分析。
优点:操作极其简单,词云地图世界可以二次筛选,具有一定的交互属性。
缺点:需要先准备词频统计。没有办法自定义词云图的形状。个性化设置不如上面的在线网络工具。
除了现成的软件和上面的网站,还有另外一种编程工具生成词云的方法,比如python。下面介绍几个常用的制作词云的第三方库
1.WordCloud
WordCloud 是 Python 专门用来制作词云图片的第三方库。它需要在使用前安装。不过安装过程比较麻烦。我试过了,很容易出问题。 WordCloud 有自己的分词处理能力,但效果一般,所以经常搭配jieba 库进行分词,然后用空格连接(WordCloud 在处理分词时优先使用空格作为分隔符)。
代码如下:
importjiebaimportwordcloudimportmatplotlib. pyplotaspltword_list=jieba. lcut(words)#停止词库分词word_list=[wordforwordinword_listiflen(word.strip())>1]#清理一个词的词word_clean="".加入(word_list)importimageiomask=imageio。 imread(r'kobe.jpg')wc=wordcloud. WordCloud(font_path="simkai.ttf",#指定字体类型background_color="white",#指定背景颜色max_words=200,#max_font_size=255,#指定最大字体大小mask=mask)#指定模板wc=wc。 generate(word_clean)##生成词云plt. imshow(wc)plt.轴(“关闭”)plt。 show()"""Wordcloud 详细参数设置 def__init__(self,font_path=None,width=400,height=200,margin=2,ranks_only=None,prefer_horizontal=.
9,mask=None,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',regexp=None,collocations=True,colormap=None,normalize_plurals=True,contour_width=0,contour_color='black',repeat=False,include_numbers=False,min_word_length=0):" 》》查了WordCloud官方文档,发现里面有很多参数设置,比如:font_path设置字体;mask设置词云模板;stopwords停用词列表
效果如下:
使用文本直接生成词云
分词后使用jieba生成词云
设置词云模板遮罩的效果
2.pyecharts
除了WordCloud,pyecharts还支持词云生成,类似于上面的BI工具生成词云的方式。它还需要对输入的数据进行过滤和统计数据,比如jieba分词+计数器统计后得到的数据,你可以很方便的使用pyecharts作为词云。而且pyecharts的所有图表都可以交互,词云图也不例外,这也是它的优势之一。
代码如下:
importjiebafrom采集simportCounterfrompyecharts.chartsimportWordCloudword_list=jieba.lcut(words)#分词word_list=[word.strip()forwordinword_listiflen(word.strip())>1]wordCount=Counter(word_list)wc=WordCloud()wc.add( "",wordCount.items(),word_size_range=[20,100])wc.render(r'kobe.html')"""defadd(self,series_name:str,data_pair:types.Sequence,*,shape:str=" circle",word_gap:types.Numeric=20,word_size_range:types.Optional[types.Sequence]=None,rotate_step:types.Numeric=45,tooltip_opts:types.Tooltip=None,itemstyle_opts:types.ItemStyle=None,): """pyecharts 可以设置一些词云图片参数,但是和词云库相比,实在是太有限了。
pyecharts生成的词云效果如下:
pyecharts生成的词云图看起来有点太“规则”了,字体旋转角度单一(由rotate_step参数设置),字体大小对比不够明显。
本文链接: