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

这篇具有很好参考价值的文章主要介绍了python学习之10行代码制作炫酷的词云图(匹配指定图形形状)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

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

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

网页上有许多词云的效果图:
python学习之10行代码制作炫酷的词云图(匹配指定图形形状)


一、需要准备什么?

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

二、代码实现(示例)

代码如下(示例):

#导入matplotlib模块pyplot函数并使用as给函数起个别名plt
import matplotlib.pyplot as plt    
import jieba                       #导入jieba分词模块
import wordcloud                   #导入词云图模块
from wordcloud import ImageColorGenerator
import 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()

三、读入数据

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

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

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

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

4、生成词云,并显示出来

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

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

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

https://github.com/amueller/word_cloud

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

四、结果展示

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

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

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

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学习之10行代码制作炫酷的词云图(匹配指定图形形状)
python学习之10行代码制作炫酷的词云图(匹配指定图形形状)

总结

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

到了这里,关于python学习之10行代码制作炫酷的词云图(匹配指定图形形状)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 10个超炫酷的前端3D开源项目

    本文将分享 10 个超炫酷的前端 3D 开源项目。从令人惊叹的视觉效果到富有创新概念的交互体验,这些项目展示了前端技术的无限可能。无论你是新手还是经验丰富的开发者,都值得一探究竟! 基于 Three.js 的前端 WebGL 页面开发合集,包含冰墩墩、数字城市、3D人像、车模展示

    2024年02月08日
    浏览(89)
  • 使用Python绘制各种方法的词云图

     这样一张极其简单的词云图算是做好了,当然我们可以给它添加一个背景图片,例如下面这张图片,  主要需要添加的代码如下所示  除此之外,还有另外一个模块 stylecloud 绘制出来的词云图也是非常酷炫的,其中我们主要是用到下面这个函数  最后我们来看一下如何用

    2024年02月12日
    浏览(40)
  • chatgpt赋能python:Python词云入门:构建你自己的词云图

    如果你是一个数据科学家或者是数据分析师,那么你肯定已经听过了“词云图”这个词。词云图是数据可视化的一种方式,用于呈现文本数据中最频繁出现的词汇。在这篇文章中,我将提供一个详细的教程,包括如何使用Python生成词云图和如何调整它们的外观。 词云图是一个

    2024年02月09日
    浏览(85)
  • 28个炫酷的CSS特效动画示例(含源代码)

    CSS是网页的三驾马车之一,是对页面布局的总管家,2024年了,这里列出28个超级炫酷的纯CSS动画示例,让您的网站更加炫目多彩。 效果图: 点击查看示例源代码 效果图: 点击查看示例源代码 效果图: 点击查看示例源代码 效果图: 点击查看示例源代码 效果图: 点击查看示

    2024年01月16日
    浏览(46)
  • 28个炫酷的纯CSS特效动画示例(含源代码)

    CSS是网页的三驾马车之一,是对页面布局的总管家,2024年了,这里列出28个超级炫酷的纯CSS动画示例,让您的网站更加炫目多彩。 效果图: 点击查看示例源代码 效果图: 点击查看示例源代码 效果图: 点击查看示例源代码 效果图: 点击查看示例源代码 效果图: 点击查看示

    2024年01月20日
    浏览(50)
  • python炫酷特效代码简单,python制作的炫酷动画

    本篇文章给大家谈谈python炫酷特效代码简单,以及python好看的图案代码,希望对各位有所帮助,不要忘了收藏本站喔。 可以生成下面这种图 import random import turtle def random_color():     rgbl=[255,0,0]     random.shuffle(rgbl)     return tuple(rgbl) def koch(size,n):     if n==0:         (size)  

    2024年02月07日
    浏览(46)
  • 逢年过节就拿出这些代码,Python 制作一个炫酷烟花秀

    已经2023年了 ,到了这个时间点,部分小伙伴已经开始复盘这一年的得与失。比如今年增加了多少技能点,看了多少本书,写了多少篇文章或者年前的小目标实现进度大概多少等等;做一个象征性的年终总结来告别2022,迎接2023: 本篇文章,带大家用 Python 制作一个炫酷烟花秀

    2024年02月03日
    浏览(39)
  • Kibana 8.X 如何做出靠谱的词云图?

    Kibana 实现一个词云效果并不复杂,甚至可以说非常简单。 大致可以分成如下几个步骤: 步骤1:已有索引待做词云的 text 类型字段设置:fielddata 为true,以便基于分词结果聚合操作。 步骤2:在 8.X 的 kibana 的 Data Views关联索引。 步骤3:在dashboard控制面板选择 Aggregation Based 下

    2023年04月08日
    浏览(40)
  • Python学习之pygame模块介绍并制作代码雨

    对Python游戏有所了解的朋友都知道,在2D的游戏制作中,经常会用到一个模块pygame,他能帮助我们实现很多方便使用的功能,例如绘制窗口,反馈键盘鼠标信息,播放音频文件,渲染图片文字等等功能。 今天咱们通过pygame模块实现一个代码雨的简单示例,顺便讲解下子模块中

    2024年02月10日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包