文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python学习之10行代码制作炫酷的词云图(匹配指定图形形状)

2023-10-26 09:56

关注

文章目录


前言

想必大家有一个问题:什么是词云呢?

词云又叫名字云,是对文本数据中出现频率较高的“关键词”在视觉上的突出呈现,形成关键词的渲染形成类似云一样的彩色图片,从而一眼就可以领略文本数据的主要表达意思。

网页上有许多词云的效果图:
在这里插入图片描述


一、需要准备什么?

python代码运行需要安装第三方模块pillow(PIL)、matplotlib、jieba、wordcloud 和numpy
如果安装库有遇到问题,可以参见下面的解决办法,在windows上测试可用。
python学习之报错:ModuleNotFoundError: No module named ‘pandas‘解决方法
python学习之数据分析和图表的应用(第一部分)报错:ModuleNotFoundError: No module named ‘wordcloud’

二、代码实现(示例)

代码如下(示例):

#导入matplotlib模块pyplot函数并使用as给函数起个别名pltimport matplotlib.pyplot as plt    import jieba                       #导入jieba分词模块import wordcloud                   #导入词云图模块from wordcloud import ImageColorGeneratorimport numpy as np                 #导入numpy模块from PIL import Image              #从PIL模块中导入Image函数# 读取文本文件text = open('elsa.txt','r').read() #elsa.txt可以改成自己的文件cut_text = jieba.cut(text)         #分词处理word = ' '.join(cut_text)          #以空格分割文本#读取图片pic = np.array(Image.open('aa.png'))image_colors = ImageColorGenerator(pic)  #生成图片颜色中的颜色wd = wordcloud.WordCloud(    mask=pic,                      #背景图形,如果根据图片绘制,则需要设置    font_path='simhei.ttf',        #可以改成自己喜欢的字体    background_color='white',      #词云图背景颜色可以换成自己喜欢的颜色    )wd.generate(word)                  #生成词云# 图片颜色渲染词云图的颜色,用color_func指定plt.imshow(wd.recolor(color_func=image_colors), interpolation='bilinear')plt.axis('off')#关闭显示x轴、y轴下标plt.show()

三、读入数据

下面咱们解析一下代码块:

导入了画图模块,词云生成模块和jieba的分词模块;

读取本地的文件,使用jieba进行分词,并对分词的结果以空格隔开;

读取指定图片图形文件,并显示字体、颜色等参数进行配置;

生成词云,并显示出来

这只是一个简单得不能再简单得编程,实现的效果也非常简单。这也是我喜欢python的一个原因吧,简洁明快。

但是Python是一门开源的语言,这时候就体现出开源的特性了,任何人都能对一个项目加以修改,使项目不断的完善。

Github上有许多开源的项目,有一个做词云的项目,大家可以去瞅瞅源码:

https://github.com/amueller/word_cloud

咱们可以直接进入wordcloud.py 源码进行字体,词云效果进行修改。

四、结果展示

在这里插入图片描述

在这里插入图片描述

五、修改词云颜色后的运行结果展示:

color_list=['black','red']#多种颜色'''color_list=['LightCoral','RosyBrown','IndianRed','Red','Brown','FireBrick'            ,'DarkRed','Maroon','Gainsboro','LightGray'            ,'Silver','DarkGray','Gray','DimGray','Black']'''colormap=colors.ListedColormap(color_list) #matplotlib色图

在这里插入图片描述
在这里插入图片描述

总结

以上就是python词云生成的介绍了,源码中实现了词云生成的基本步骤,在参数设置方面,可以根据自己的需求设置不同的字体、形状和颜色,以及词云的大小。
有兴趣的小伙伴可以看看Github上有许多开源的项目,有一个做词云的项目,大家可以去瞅瞅源码:github地址
也可以直接进入wordcloud.py 源码进行字体,词云效果进行修改。

来源地址:https://blog.csdn.net/u014740628/article/details/129118485

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯