相信许多人都看到过下面这样的词云图,词云图是一种很好的可视化工具,其作用主要是为了文本数据的视觉表示,既酷炫又能突出重点。

关于词云图的制作,网上能够搜集到很多的教程,许多都是利用了专用的工具,这些工具便捷又强大,但是它们普遍存在一个问题:功能太过专一,且适用范围有限。

今天我们要尝试的,是使用通用的编程语言python来制作词云

python这门编程语言非常地简单易用,即使看起来很复杂的设置,python用一个库和几条代码就能搞定了~

第一步:下载并安装Anaconda

进入Anaconda官网,选择适合你电脑的版本,推荐下载使用python3.6版本,因为在最新的版本当中,许多python之前的语言缺陷都得到了解决。

下载完成后,跟一般的软件一样安装即可。安装好后在cmd中打开jupyter book,并新建一个目录。

第二步:分析文本生成词云

词云分析的对象,是文本。理论上讲,文本可以是各种语言的。英文、中文、法文、阿拉伯文……

最近大家都在追权力的游戏,我就在wiki上面搜索权力的游戏并将一些文本复制粘贴,存入wordcloud的文本里。

wordcloud把词云当作一个对象,它可以将文本中词语出现的频率作为一个参数绘制词云,而词云的大小、颜色、形状等都是可以设定的。

生成一个漂亮的词云文件三步就可以完成。即:

1、配置对象参数

2、加载词云文本

3、输出词云文件 (如果不加说明默认的图片大小为400 * 200)

首先安装这个库:

pip install wordcloud

简单了解一下wordcloud库的一些方法:

打开jupyter,进行词云的绘制。

#读取词云文本
filename = "Game of Thrones.txt"
with open(filename) as f:
mytext = f.read()
mytext

然后导入词云库,利用 mytext 中存储的文本内容来制造词云。

from wordcloud import WordCloud
wordcloud = WordCloud().generate(mytext)

这两句代码运行没有任何的反应,但是此时词云分析已经完成了。制作词云的核心步骤只需要这2行语句,而且第一条还只是从扩展包里找外援。但是程序并不会给我们显示任何东西。

接下来我们需要python的一个强大库,matplotlib,执行下面的代码,词云图就出来了。

%pylab inlineimport matplotlib.pyplot as plt
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")

丹尼真的是妥妥的大女主啊,临冬城的出现比例也很大。

完整代码如下:

filename = "Game of Thrones.txt"with open(filename) as f:
 mytext = f.read()from wordcloud import WordCloud
wordcloud = WordCloud().generate(mytext)
%pylab inlineimport matplotlib.pyplot as plt
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")

以上就是利用wordcloud制作词云的方法,仅仅用了十行代码就实现了哟~

第三步,自定义图片词云

上面的示例用的是英文文档,默认输出的词云图是长方形的,接下来我们要使用中文文档,然后实现输出有形状的图片。

这时仅仅使用wordcloud库没有办法实现我们的需求,我们还需要使用jieba和scipy两个库。

在生成词云的时候,Wordcloud默认是按照空格或者标点作为分割符来对目标文本进行分词处理。

若是英文文本可直接调用,若是中文文本,则需要先对文本进行分词处理然后用空格拼接,再调用wordcloud库函数。

jieba是实现中文分词的组件,它能够将句子精确的切开,适合做文本分析,还支持繁体分词、自定义词典等,关于jieba库的细则可以查看文档:https://pypi.org/project/jieba/

想要生成各种形状的图片,scipy库是必不可少的图片处理工具。

本次数据文档选用权力的游戏第八季百度百科分集剧情的前4集内容,将内容存储到一个txt文档中。

既然需要生成自定义的词云图片,那么还需要准备一张图片备用,建议使用纯色背景的图片,将图片存储后备用。

执行下面的代码即可生成图片型的词云图:

#导入wordcloud模块和matplotlib模块from wordcloud import WordCloud,ImageColorGeneratorimport matplotlib.pyplot as pltfrom scipy.misc import imreadimport jieba#读取一个txt文件
text = open(r'C:Users...权力的游戏.txt','r').read()#读入背景图片
bg_pic = imread(r'C:Users....jfif')
wordlist_after_jieba = jieba.cut(text, cut_all = True)
wl_space_split = " ".join(wordlist_after_jieba)#生成词云
font = r'C:WindowsFontssimfang.ttf'
wc = WordCloud(mask=bg_pic,background_color='white',font_path=font, scale=1.5).generate(wl_space_split)
image_colors = ImageColorGenerator(bg_pic)#显示词云图片
plt.imshow(wc)
plt.axis('off')
plt.show()

利用python制作词云非常简单,赶快动手操作起来吧!

- DataCastle -

plt图片输出 python_利用Python制作词云,wordcloud神器你值得拥有相关推荐

  1. 利用python制作漂亮的词云图_利用python制作词云,wordcloud神器你值得拥有

    相信许多人都看到过下面这样的词云图,词云图是一种很好的可视化工具,其作用主要是为了文本数据的视觉表示,既酷炫又能突出重点. 关于词云图的制作,网上能够搜集到很多的教程,许多都是利用了专用的工具,这些工 ...

  2. 数据可视化之利用Python制作词云图

    制作词云图 一.词云图介绍 二.wordcloud方法 二. stylecloud方法 一.词云图介绍 词云图可以看作是文本数据的视觉表示,由词汇组成类似云的彩色图形.相对其它诸多用来显示数值数据的图 ...

  3. 利用python制作词云图,分词,提取关键词

    利用python制作词云图保姆及教程 前言 一.环境配置 1.要有python的运行环境 2.需要导入jieba ,wordcloud等模块 pip install jieba pip install ...

  4. python 只去除英文_如何使用 Python 制作词云(Word Cloud)-英文词云篇

    wordcloud 安装报错与解决 虽然网络上也有各种工具可以一键生成词云,但是使用Python制作词云感觉是一件很酷的事情.作为一个 Python 小白,使用 Python 的过程并不那么轻松.比如 ...

  5. Python制作词云视频(使用B站视频及弹幕文本)

    Python制作词云视频-目录 使用到的第三方库 项目思路和代码流程 B站弹幕爬取 思路 实现 参考代码 视频下载 思路 参考命令 视频.音频剪辑和音频提取 思路 参考代码 视频帧提取 思路 参考代码 ...

  6. e分钟带你利用Python制作词云图

    随着大数据时代的来临,数据分析与可视化,显得越来越重要,今天给小伙伴们带来一种最常见的数据可视化图形-词云图的制作方法. 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语 ...

  7. Python制作词云视频,通过词云图来看小姐姐跳舞

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以点击下方链接自行获取 python免费学习资料 ...

  8. python制作词云时出现figure1 figure2_用Python生成词云

    词云是一种数据可视化技术,用于表示文本数据,其中每个单词的大小表示其出现的频率或重要性. 可以使用词云突出显示重要的文本数据点. 词云被广泛用于分析来自社交网络网站的数据. 为了在Python中生成词 ...

  9. 如何用Python 制作词云-对1000首古诗做词云分析

    主页: https://codeshellme.github.io 今天来介绍一下如何使用 Python 制作 词云 . 词云又叫文字云,它可以统计文本中频率较高的词,并将这些词可视化,让我们可以直观 ...

最新文章

  1. HikariPool 连接池问题
  2. 数据测试常用的 Data Profiling 方法
  3. python入门到精通需要学多久-史上最详细python学习路线-从入门到精通,只需5个月时间...
  4. 大话设计模式(三 复制VS复用)
  5. storm生产环境部署问题
  6. Session重点整理
  7. APP专项测试——弱网测试
  8. 快速搞懂MD5解密原理,了解常用的MD5在线解密网站
  9. “豫”见超融合,私有云浪潮开启新一线
  10. 斐讯音箱控制扫地机器人_斐讯大能X3扫地机器人首批测试,这回真没花一分钱!...
  11. 基本组件之botton
  12. 冰蝎v4.0已经更新,在Java18下也能启动冰蝎。
  13. Mac ps 2021 3D功能无法使用问题,怎么办?
  14. UE4 皮革材质从简单到复杂
  15. 什么是overlay?如何定制overlay?
  16. Load balancer does not have available server for client xxxx 解决办法 和
  17. Python编写手机App————kivy
  18. 你是当“鸡头”还是做“凤尾”
  19. 社区里的志愿者与专业人员
  20. 经济统计学专业学C语言,2019经济统计学专业怎么样、学什么、前景好吗

热门文章

  1. 安装jdk配置环境、cmd命令行测试环境变量配置是否正确及运行java程序、安装IDEA编写代码测试
  2. 算法练习day20——190411(重建二叉树、斐波那契数列、跳台阶、矩形覆盖、变态跳台阶、旋转数组的最小数字、矩阵中的路径)
  3. python虚拟环境搭建mac_mac搭建python virtualenv虚拟环境并使用 - 李金龙
  4. CAN接口芯片SN65HVD230DR波形
  5. 最好用的微型计算机,《微型计算机原理及应用》试题及答案 好
  6. linux卸载pci驱动,linux的PCI驱动固件问题
  7. IMX8QXP内部M4移植rt-thread
  8. 盘点 Serverless 架构的六个特质
  9. php5.6.30源码下载,PHP 5.6.30 正式发布,安全漏洞修复
  10. extjs4mvc增删改查_asp.net下利用MVC模式实现Extjs表格增删改查