如何利用Python生成词云
这篇文章主要介绍“如何利用Python生成词云”,在日常操作中,相信很多人在如何利用Python生成词云问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何利用Python生成词云”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
目前创新互联公司已为上1000+的企业提供了网站建设、域名、网络空间、网站运营、企业网站设计、隆尧网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
前言:
话说,在这个大数据时代,获取信息显得极为容易,可正是如此,我们想要对信息进行直观地了解难度就大了。
Excel是一个很好的数据可视化方法,不过有时候我们的数据来源可能并不是一张或者多张Excel表格,这样子的话如果我们想利用Excel进行数据可视化就显得不是那么容易。
首先我们需要逐个将数据导入到Excel中,然后再用Excel的图表对数据进行可视化分析。在信息量大的情况下,这么做显然得不偿失,我们只是想对数据进行一个直观的了解,为什么要搞得这么复杂呢?
以上的问题是很多人会遇到的,因此一些数据可视化方式便应运而生,例如词云。大家看看这张图片
是不是非常直观并且炫酷呢?
现在,想做出这样子的图片的小伙伴们,跟着我,我手把手教你们做出这样子的词云,这里的实现方法是使用Python中的相关库
安装方法如下
pip install matplotlibpip install numpypip install jieba
以上的三个命令的作用是分别安装:matplotlib,numpy以及jieba这三个库。当然有些同学可能已经安装过了。想要检验是否有安装,可以在命令行下输入
pip list
这样子即可显示你已经安装的库,如果没有全部出现上面的3个库,请在命令行下执行对应的命令并且等待安装成功。
如果你没有安装Python或者输入pip显示不是内部命令,请移步这篇文章
Python小白环境搭建-开箱即用
现在直接上代码,代码上面有注释,相信你一定能看懂
# worcloud是生成词云的关键
import wordcloud
# numpy是一个强大的科学计算库,我们将用它来把PIL库打开的图片保存为数组
import numpy as np
# PIL是一个图像处理库,用来打开图片
from PIL import Image
# jieba是中文分词库,可以智能地拆分词语
import jieba
# matplotlib库是一个绘图库,可以用来显示图片以及绘制多种图形
import matplotlib.pyplot as plt
# 生成背景图片的两种方法#
# 注意背景图片的路径要写对,可以是完整路径,例如C:/image/test.jpg
# 若图片与Python代码在同一个文件夹,那可以直接写图片名称+后缀,例如test.jpg
# 1.使用 matplotlib库读取图片
bg_1=plt.imread("background_image_1.jpg")
# 2.使用numpy库和PIL库,PIL库用于打开图片,numpy库用于将图片转化为数组
# 下面这行代码我注释掉了
# bg_2=np.array(Image.open('background_image_2.jpg'))
# 对于以上的图片选择,要特别注意图片的背景应该为白色
#配置词云的背景,图片,字体大小等参数,
# 也可以不配置,直接 wc=wordcloud.WordCloud()
wc=wordcloud.WordCloud(
# font_path为字体文件的路径,如果没有这个,那么生成的词云图片无法显示中文
font_path="C:/Windows/Fonts/simfang.ttf",
# scale为按比例放大或者缩小生成的图片。例如1.5表示图片放大为原来的1.5倍,可省略
scale=1.5,
# mask表示背景图片,如果不没有背景图片,那这个可以省略
mask=bg_1,
# background_color为背景颜色,默认为黑色,可以省略
background_color="black",
# width为词云生成的图片宽度,默认为400
width=600,
# height为词云生成的图片高度,默认为200
height=400,
# max_words图片上显示的最大词语的个数
max_words=1000,
# max_font_size为最大字体的大小
max_font_size=120,
# min_font_size为最小字体大小,默认为4
min_font_size=4)
# 打开要生成词云的文件,一般是txt格式的纯文本文档
with open('词云来源.txt','r',encoding="utf-8") as f:
# text=f.read()是说读取 词云来源.txt 这个文件的所有内容并存储到变量text中
text=f.read()
# 利用jieba库把text拆分并且使用空格分隔拆分后的结果
spilt_text=" ".join(jieba.lcut(text))
print("正在生成词云,预计时间35s......")
# 调用generate方法,传入要生成词云的文本
wc.generate(spilt_text)
# 把词云保存成图片
wc.to_file('wordcloud.jpg')
print("生成完毕!")
背景图片
词云效果
到此,关于“如何利用Python生成词云”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!
本文名称:如何利用Python生成词云
网址分享:http://ybzwz.com/article/jojsjg.html