网站生成app(5种实用免费的词云图生成工具)

今天520,一早上刷朋友圈就是满满的狗粮,各种各样的花式表白,什么程序员写代码表白,短视频表白,微信暗黑模式切换表白…….其实,我们数据分析届也有我们的专属表白神器:词云图,比如像下面这样把微信聊天记录导出生成词云图:在数据可视化图表中,词云图是一种视觉冲击力很强的图表。对输入的一段文字进行词频提取,然后以根据词汇出现频率的大小集中显示高频词,简洁直观高效。词云图应该怎么做呢,有没有什么好用的工具?百度一搜会出现各式各样的词云图网站和软件,国内国外的都有,我体验了大概20多款,有些在使用上很鸡肋,有的要付费,从其中挑选了5种词云图的制作工具分享给大家,人人都能学会在线词云生成工具网上很多在线词云生成网站,毕竟在线网站不用下载软件,用起来快捷方便,对比几款之后,我感觉这两个平台还算相对好用:1. WordArt网址:https://wordart.com/优点:不需要注册就能使用,而且对热词数量没有限制,支持设置字体、形状等个性化配置,在线词云支持交互查看。缺点:操作界面是英文的,这一点比较鸡肋,而且是国外网站,网页加载速度特别慢。只有一种字体支持中文,而且因为权限的问题没办法添加本地字体。制作效果如下,各别中文有乱码:2. 微词云网址:https://www.weiciyun.com/优点:支持自动文本分析,提供了大量的形状模板,也支持自定义模板。字体支持种类很多,图片颜色种类也很多,还有渐变色,操作也比较简单缺点:要注册,免费的图片有水印,而且对词汇数量有限制数据分析软件工具网页在线生成工具和桌面软件做词云图本质上都差不多,这里推荐大家用BI工具来做,专业的数据可视化分析软件,除了词云图之外还能做出其他经验的数据可视化效果,操作很简单,适合数据分析师上手。1、FineBI下载地址:https://www.finebi.com/一款商业智能分析工具,国产软件,个人版是永久免费的,生成可视化图表很简单,制作词云图也不例外,把数据源加载进FineBI界面后,图表选择词云图,把热词和词频拖拽到对应设置框,图表就自动生成了。2、tableau下载地址:https://www.tableau.com/tableau是国内外知名度比较高的商业智能工具,可视化功能很强大,用来制作一般的可视化分析很方便,不过需要收费,具体的制作步骤和上面的FineBI类似,数据源都需要提前完成词频统计。这两个工具的定位是商业智能软件,侧重数据分析,词云图不是强项,用来做平时的可视化分析还是不错的优点:操作极其简单,词云图界能够二次筛选,有一定的交互属性缺点:要先准备好词频统计,没办法自定义词云图形状,个性化设置不如上面的在线网页工具。编程工具除了上面现成的软件和网站之外,还有一种方法就是代码生成词云图,比如python,下面推荐几个常用的制作词云图用的第三方库1. WordCloudWordCloud是Python专门用来制作词云图的第三方库,使用前需安装,不过这个安装过程比较麻烦,我试了一下,容易出现问题。WordCloud自带切分词处理能力,但是效果一般,所以往往还是会配套使用jieba库来进行切分,而后再用空格连接(WordCloud在处理切分时优先使用空格作为分隔符)。代码如下:import jieba
import wordcloud
import matplotlib.pyplot as plt
word_list = jieba.lcut(words)   # 结巴词库切分词
word_list = [word for word in word_list if len(word.strip())>1]#清洗一个字的词
word_clean=" ".join(word_list)
import imageio
mask=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.axis("off")
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分词后生成词云设置词云模板mask后效果2. pyecharts除了WordCloud外,pyecharts也支持生成词云,和上面BI工具生成词云的方式类似,也要求输入的数据是经过筛选和统计好的数据,比如经过jieba分词+counter统计后得到的数据就可以很方便的用pyecharts来作词云。而且,pyecharts的所有图表均可交互,词云图也不例外,这也算是它的一项优势。代码如下:import jieba
from collections import Counter
from pyecharts.charts import WordCloud

word_list = jieba.lcut(words)   # 切分词
word_list = [word.strip() for word in word_list if len(word.strip())>1]
wordCount = Counter(word_list)
wc = WordCloud()
wc.add("", wordCount.items(), word_size_range=[20, 100])
wc.render(r'kobe.html')
"""
def add(
    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可以设置一些词云图的参数,不过相比WordCloud库来说,实在是太有限了。利用pyecharts生成的词云效果如下:pyecharts生成的词云图片看上去有些过于"规矩",字体旋转角度单一(通过rotate_step参数设置),字号大小对比也不够明显。

本文出自快速备案,转载时请注明出处及相应链接。

本文永久链接: https://kuaisubeian.cc/38394.html

kuaisubeian