0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

三种制作词云图的方法,你觉得用哪一种更方便?

机智云 2022-10-18 14:54 次阅读

如上所示,就是常见的词云图。

所谓词云图,又称文字云,是通过对一个或多个关键词进行重复的、字体大小颜色不一的、不规则的排列,使其看上去类似于某种形状的图片,是对文本中出现频率较高的“关键词”予以视觉化的展现。

词云图能过滤掉大量的低频低质的文本信息,使得浏览者只要一眼扫过文本就可领略文本的主旨。

关键词云图生成器作为生成云图的一种工具,简化了制作过程。目前国内外有很多关键词云图在线生成器,普遍按月或按年收费,在付费时候尽量选择可靠性强的。小编之前就遇到过付费后,没多久网站就消失不见了。

那么如何才能自己来做词云图呢?有几种常见方法

1、使用WordArtWordArt是国外网站,支持自定义字体、词云形状、颜色等,做出来的词云图酷炫、精美,但访问时响应会比较缓慢。1.1 登录网站WordArt.com1.2 点击Words-Import words导入事先准备好的关键词与其对应词频,或是直接在对话框中输入相应关键词。同时在频数,颜色,角度,字体中进行设计,以实现预设效果。8ebd3dd8-4e47-11ed-b116-dac502259ad0.png说明:

  • Fonts:字体设置。该工具默认字体为英文,如果词云内容为英文可以使用素材提供的字体,而涉及到中文内容时我们需要选择自行添加字体或是选择素材库中的Noto Sans S Chinese(可以识别部分中文)。
  • Shapes:设计词云的形状。可以选择提供的素材库中的形状也可以选择Add Image/Add Text来自定义形状。这里选择输入数字“2020”并在选项卡中设计斜体、轮廓、字体、背景以及字体颜色,设计完成后单击Add将形状添加进来。
  • Layout:内容布局。在该选项卡中,可以更改设计文字方向和布局排列方式,该工具提供了许多现成的组合方案,只需按需加以勾选即可。同时,在Words amount ,Density中也可以对填充内容进行设计。
  • Style:词云设计,主要涉及关键词具体内容的编辑设计。通过参数调整,对背景以及底色进行编辑修改。

1.3 生成词云:单击Visualize,即可生成词云图并预览效果。1.4 导出图片:点击DOWNLOAD (选择图片格式)即可下载词云图。8ed7e8cc-4e47-11ed-b116-dac502259ad0.png8ea4df54-4e47-11ed-b116-dac502259ad0.png2、借助开源软件word-cloud是一款为 java 设计的云图生成工具。目前该项目开源,地址在https://github.com/houbb/word-cloud

特性

极简 api,一行代码搞定一切

支持自定义云图背景

支持中英文分词,默认对用户透明

支持停顿词过滤,默认对用户透明

支持各种用户自定义配置

Maven引入

com.github.houbb
word-cloud
1.2.2

使用

WordCloudHelper.wordCloud("该作讲述的是一个名为德特茅斯的衰落小镇下掩埋着一个古老的废弃王国,名叫圣巢。这个王国被瘟疫所侵蚀而废弃,废弃的原因则是因为名为辐光的光之古神,她可以通过思想来传播瘟疫,被瘟疫侵蚀的虫子都会被本能所支配,失去心智。\n" +
"这个王国的主人——苍白之王,自然不会坐视不管,他在圣巢范围之下的深渊,利用另一种远古力量“虚空”可以压制光明的特性,制造了容器一族。其中一位被选中的容器用来封印瘟疫,并被命名为空洞骑士。为了封印的稳固,白王寻找了三个守梦人来进一步巩固封印,三位守梦人的名称分别为守望者 - 卢瑞恩,导师 - 莫诺蒙,野兽 - 赫拉。但之后苍白之王不知去向,不完美的容器的力量的也变得逐渐虚弱,最终被辐光控制。主角就要穿过圣巢的各地,在安息之地中,我们受到曾经辐光的信徒和眷族——飞蛾族唯一留下的族人的帮助,获得了和辐光力量同源的梦之武器——梦之钉。梦之钉可以读取生物内心的想法,并可以打破守梦人的保护,进入到其梦境之中杀死守梦人。杀死了三位守梦人并解开封印后,可选的结局有到达十字路里的黑卵神殿打败空洞骑士或去到在“寻神者”更新中新加入的地点“神居”并挑战圣巢万神殿。");

添加背景

//以鲸鱼的背景,可以让文字以图像的形式展现:
String imagePath = "backgrounds\\whale_small.png";
WordCloudHelper.wordCloud(text,"out_bg.png",imagePath);

效果如下8f11f620-4e47-11ed-b116-dac502259ad0.png8ea4df54-4e47-11ed-b116-dac502259ad0.png3、使用python工具使用Python库jieba,jieba是一个非常好用的中文工具,是以分词起家的,但是功能比分词要强大很多。8f410212-4e47-11ed-b116-dac502259ad0.pngjieba分词有三种模式:
8f555316-4e47-11ed-b116-dac502259ad0.pngjieba.cut返回的结构都是一个可迭代的 generator,可以使用 for 循环来获得分词后得到的每一个词语(unicode)。

jieba.cut方法接受三个输入参数:

需要分词的字符串

cut_all 参数用来控制是否采用全模式,一般情况下,cut_all为False

HMM 参数用来控制是否使用 HMM 模型

示例:使用“Star.jpg”作为模板图片和“myword.txt”文本制作词云图
Star.jpg

8f73b0a4-4e47-11ed-b116-dac502259ad0.png

myword.txt

详细代码

###导入库
#导入wordcloud词云制作第三方库,并导入WordCloud.ImageColorGenerator两个模块 from wordcloud import WordCloud.imageColorGenerator

#导入imageio库
importimageio

# 导入jieba库
importjieba

### 图片处理
# 用imageio库中的imread函数读取本地图片
testmg=imageio.imread("Star.jpg")

# 调用wordcloud库中的ImageColorGenerator函数
image_color=ImageColorGenerator(testimg)

# 给WordCloud函数传入参数设置图片相关属性
test=WordCloud(mask=testimg,#将testng的值赋值给mask用作遮罩图
width=500,#输出图片宽度为500px
height=500,#输出图片高度为500px
background_color="white",#输出图片背景颜色为白色
font-path="msyh.ttc"#字体路径为微软雅黑
scale=15)#画布放大比例为15

###文本处理
# 引用外部文件,并用utf-8的编码方式
txt=open("myword.txt",encoding="utf-8").read()

# 调用词云对象test的generate方法,导入文本
# 使用jieba分词的精确模式为文本进行分词
test=test.recolor(color_func=image_color)

###输出处理
#将生成的词云保存为result.png图片文件,保存到当前文件夹中
test.to_file("result.png")

效果图

8f87d872-4e47-11ed-b116-dac502259ad0.png

词云图不仅能用来突出关键词,减少信息冗余,还能用于用户图像分析,快来试试吧。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 云图
    +关注

    关注

    3

    文章

    7

    浏览量

    4458
收藏 人收藏

    评论

    相关推荐

    在利用“通用定时器”捕获PWM信号的过程中,中断服务函数是设置为如下的哪一种模式呢?

    在利用“通用定时器”捕获PWM信号的过程中,我们的中断服务函数是设置为如下的哪一种模式呢?模式1和模式2: 模式1: if ( TIM_GetITStatus ( GENERAL_TIM
    发表于 03-22 07:55

    STM32H743VIT6可以用NUCLEO-H743ZI板调试吗?

    问题1:最近要选择STM32H743VIT6这款芯片做实验项目,想要选择NUCLEO-H743ZI板子调试,但是板子mcu跟选型的mcu不完全致,引脚数量也不样,担心买回来调试不方便 问题2:板子有NUCLEO-H743ZI
    发表于 03-18 07:17

    运放的三种应用

    运放在电路中主要存在三种应用,放大器,滤波器,振荡器。再这三种应用电路中,运放的两大特点虚短虚断仍然成立吗? 在阻尼振荡器中,工作过程是否按照我描述的这样,在反相输入端加个近似锯齿波的电流源,正半
    发表于 01-26 16:18

    请问AD9643BCPZ-250属于哪一种管脚定义方式?

    从数据手册看,AD9643芯片有两管脚定义方式, 平行的LVDDS 和 多氧化(日/日/日/日)LVDS 。请问AD9643BCPZ-250属于哪一种管脚定义方式?
    发表于 12-06 06:54

    常见的ARM架构分为两一种是M系列另外一种是A系列,这两有什么区别啊?

    现在市面上常见的ARM架构分为两一种是M系列另外一种是A系列,这两有什么区别啊,用的时候他们般分别用在什么地方啊。
    发表于 10-26 07:00

    请问如何用单片机让极管出现三种不同的电平状态?

    如何用单片机让极管出现三种不同的电平状态?
    发表于 10-10 06:56

    应变计测量的应变是哪一种

    应变计测量的应变是哪一种? 应变计测量的应变是指物体在受到外力时,其形状和尺寸发生的变化程度。应变计是一种用来测量物体应变的电子仪器,它可以测量物体在受力时的应变大小,以得知物体的强度和刚度等物理
    的头像 发表于 08-24 14:26 917次阅读

    STM32H743VIT6可以用NUCLEO-H743ZI板调试吗?

    问题1:最近要选择STM32H743VIT6这款芯片做实验项目,想要选择NUCLEO-H743ZI板子调试,但是板子mcu跟选型的mcu不完全致,引脚数量也不样,担心买回来调试不方便 问题2:板子有NUCLEO-H743ZI
    发表于 08-07 07:36

    LLC还是反激拓扑 应该选择哪一种

    许多高效率电源在设计时可以使用有源钳位反激(ACF)变换器或LLC开关IC来实现其设计目标。在实际设计时,究竟应该选择哪一种呢?
    的头像 发表于 07-13 16:18 614次阅读
    LLC还是反激拓扑 应该选择<b class='flag-5'>哪一种</b>

    贴片二极管S27是哪一种二级管

    贴片二极管S27是哪一种二级管有哪位大神知道请回复
    发表于 06-20 09:39

    我看MS51有三种Flash大小的,除了Flash大小不同外,其他配置样吗?

    我看MS51有三种Flash大小的,除了Flash大小不同外,其他配置样吗
    发表于 06-15 10:15

    电路板电镀中4特殊的电镀方法

    层热轴,它对于大多数活化剂都表现出了不良的粘着性,这就需要开发类类似去污渍和回蚀化学作用的技术。 更适合印制电路板原型制作一种方法是使用一种特别设计的低粘度的油墨,用来在每个通孔内
    发表于 06-12 10:18

    是否有一种方法可以使用Arduino的代码块IDE与ESP MCU起工作?

    知道是否有一种方法可以使用 Arduino 的代码块 IDE 与 ESP MCU 起工作?Code Blocks 是个非常好的轻量级 IDE,已经适用于几乎所有的 Arduino
    发表于 06-09 08:35

    00031 分享几种常见的接线方法喜欢哪一种? #电气 #电工

    电工技术经验分享
    学习电子知识
    发布于 :2023年05月09日 20:35:58

    00016 七个电工等级,看看你是哪一种?#电工 #电气

    电工技术
    学习电子知识
    发布于 :2023年05月06日 23:22:19