首页 » PHP教程 » php制造云图技巧_若何快速生成一张漂亮的词云

php制造云图技巧_若何快速生成一张漂亮的词云

duote123 2024-12-11 0

扫一扫用手机浏览

文章目录 [+]

序言

大家好,不知道大家会在什么场合利用词云图,对我来说词云图的优点除了它可以展示大量文本数据,从而让读者快速捉住重点,更主要的是词云图好看啊,本日给大家分享几种词云图的制作方法。

php制造云图技巧_若何快速生成一张漂亮的词云

首先我们来思考一下词云图是若何天生的,大略来说不便是读取文本—>分词—>打算词频—>词云。

php制造云图技巧_若何快速生成一张漂亮的词云
(图片来自网络侵删)

下面将以我们制作词云的繁芜程度来先容不同的方法。

在线交互式制作:图悦词云

最省事确当然是一步到位,将文本数据传进去然后直接全体词云图出来,这时一样平常要借助第三方网站。

首先登场选手是最大略的词云制作:图悦词云

http://www.picdata.cn/picdata/index.php#

就像上图一样,不用注册不用上岸,把文本粘贴进去就出来词云了,但是可选择的样式较少而且有水印,并且也不支持更多的参数调度。

主不雅观评分:60分|毕竟能知足基本的词云制作。

在线交互式制作:微思词云

下一位选手是微思词云

https://wis-ai.com/wordcloud

可以看到,相较于上一个网站,该网站的词云并没有水印,看上去也舒畅一点,并且支持对笔墨旋转、背景颜色、字体等干系参数进行调度。

但是须要先注册上岸才可以利用并且每个账户有一定的利用次数,部分功能须要付费。

主不雅观评分:65分|须要很多的邮箱才能一贯用。

在线交互式制作:花火词云

末了一位在线制作词云的选手是花火

http://hanabi.data-viz.cn/visualisation

可以看到,花火相较于上面两个在线平台,依旧是传个txt进去就出来词云,但是做出来的图更好看,并且支持更多自定义的参数,不过须要付费才能去除水印。

主不雅观评分75分|颜值即正义,但是门票¥30/月

以上便是几个在线制作词云网站的测评,并无任何广告与抹黑,实在与其他没有列出的网站都大同小异,免费的功能大略繁芜的图会好看点但是会收费,各有千秋吧。

接下来有请Python出场。

Python 制作:Pyecharts

Python 中制作词云利用 Pyecharts 还是比较方便的,做出来的图也比较清爽。

https://pyecharts.org/#/zh-cn/basic_charts?id=wordcloud%ef%bc%9a%e8%af%8d%e4%ba%91%e5%9b%be

由于是写代码制作那么有关笔墨样式、旋转角度、高度、间隔、阴影等都可以自定义,并且可以利用 pyecharts 的全局和系列配置项进行调度。

唯一的问题是 pyecharts 吸收的数据必须是类似经由分词打算之后的数据,也便是你要给它这样的数据。

data = [(\公众生活资源\"大众, \"大众999\"大众),(\"大众供热管理\"大众, \"大众888\"大众),(\公众供气质量\公众, \"大众777\"大众),(\"大众生活用水管理\公众, \"大众688\"大众),(\公众一次供水问题\"大众, \公众588\"大众),(\公众交通运输\公众, \公众516\"大众),(\"大众城市交通\公众, \"大众515\"大众),(\"大众环境保护\公众, \公众483\公众),(\"大众房地产管理\公众, \"大众462\"大众),(\"大众城乡培植\"大众, \"大众449\"大众),(\"大众社会保障与福利\公众, \"大众429\"大众),......]

当然这里的数字并不一定须要是频率,也可以是权重等数据。

以是如果须要绘制词云的数据恰好是这种打算好的数据,考试测验利用 Pyecharts 吧。

主不雅观评分75分|好看但也有一定限定。

Python 制作:wordcloud

现在登场的便是 Python 中制作词云最常用的 wordcloud,说到 wordcloud 就不得不先容jieba 分词了,大略来说流程便是传一个 txt 进去, jieba 分词得到结果后再传给 wordcloud 制作词云,同时支持比 Pyecharts 更多的自定义设置。

from wordcloud import WordCloudimport matplotlib.pyplot as plt #绘制图像的模块import jieba #jieba分词path_txt='music.txt'f = open(path_txt,'r',encoding='UTF-8').read# 结巴分词,天生字符串,wordcloud无法直接天生精确的中文词云cut_text = \"大众 \"大众.join(jieba.cut(f))wordcloud = WordCloud(#设置字体,不然会涌现口字乱码,笔墨的路径是电脑的字体一样平常路径,可以换成别的font_path=\公众msyh.ttc\"大众,#设置了背景,宽高background_color=\公众white\公众,width=1000,height=1000).generate(cut_text)plt.imshow(wordcloud, interpolation=\"大众bilinear\公众)plt.axis(\公众off\"大众)plt.show

从代码和词云效果来看,wordcloud 由于支持修正的参数更多,以是也就须要更多的测试不同效果下的图片来找到适宜这组数据最优的词云,比如我的这图看着就没有 pyecharts 天生的舒畅,当然只要自己调度好了,就可以保存为一个脚本往后直策应用即可。

主不雅观评分80分|毕竟是利用最多的词云库。

Python 制作:stylecloud

末了先容一个由 wordcloud 优化而来的库 stylecloud,也须要搭配jieba 分词利用,但是代码更加简介,天生的词云也更加都雅,比如还是刚刚的文本,利用下面的代码即可

def jieba_cloud(file_name):with open(file_name,'r',encoding='utf8') as f:word_list = jieba.cut(f.read)result = \"大众 \公众.join(word_list) #分词用 隔开#制作中文云词gen_stylecloud(text=result,font_path='msyh.ttc',output_name=file_name.split('.')[0] + '.png') #必须加中笔墨体,否则格式缺点if __name__ == \"大众__main__\"大众:file_name = 'music.txt'jieba_cloud(file_name)

可以看到,在不添加任何配置项默认天生的词云比 wordcloud 更清爽一点,并且也支持变动颜色、背景、风格等。

主不雅观评分 85 分|毕竟大略操作能画出好看的词云。

结束语

以上便是一些绘制词云图的方法,你用过哪些?你又会选择哪一款。

当然绘制词云的方法远不止这些,如果你有天生词云更大略、更好看的方法。
不过虽然词云图很酷炫,但并不是所有数据都适宜用词云图显示,例如数据量太少时很难布局出好看的词云图,此时就须要考虑其他的图表了。

PyCharm 2020.1 稳定版发布

pip install 今年将涌现重大变革!

入坑 Python 后强烈推举的一套工具库

实战:Flask + Vue 天生俊秀的词云

Github 热门,程序员想拿高薪建议都看看

回答下方「关键词」,获取优质资源

回答关键词「 pybook03」,立即获取主页君与小伙伴一起翻译的《Think Python 2e》电子版

回答关键词「入门资料」,立即获取主页君整理的 10 本 Python 入门书的电子版

回答关键词「m」,立即获取Python精选优质文章合集

回答关键词「」,将数字更换成 0 及以上数字,有惊喜好礼哦~

题图:pexels,CC0 授权。

好文章,我在看❤️

标签:

相关文章