前言

前几天偶然看到8佬的关于词云的文章,直接被吸引。记得那篇文章的封面是哈利波特的。看上去就很高级。然后了解到,这个叫做词云。8佬用的是jupyter做的,但我配置了很大一会,结果还不成功,再加上这个工具也不熟悉,还是用pycharm吧。(用vscode也行,需要在里面配置python环境,大家自行配置)
首先需要配置一下库

配置库


安装:pip install matplotlib 安装:pip install wordcloud 安装:pip numpy 安装:pip install jieba


直接在cmd运行这几串代码,大概率是没有问题的,因为像我这样经常踩坑的人都没遇见问题。
配置好以后它就会提示什么successful,这个时候我们就可以制作词云了。

英文版词云(harry potter)

首先,我也是想做个哈利波特的词云(受8佬的影响)
在浏览器直接搜:哈利波特英文版.txt然后下载就行了。然后把它放进词云那个文件夹里

python词云库基础用法 python词云需要安装哪些库_python

图片.png

pycharm运行代码


import matplotlib.pyplot as plt  # 在任何绘图之前,我们需要一个figure对象,可以理解成我们需要一张画板才能开始绘图
import jieba  # jieba库是中文分词的第三方库(中文文本需要通过分词获得单个的词语)
from wordcloud import WordCloud  # 导入wordcloud库

text = open(r'哈利波特英文版.txt', "r").read()  # 读入txt文本数据,在字符串前面加上字符r或R之后表示原始字符串,字符串中的任意字符都不再进行转义,后一个r表示“只读”
cut_text = jieba.cut(text)  # 结巴中文分词,生成字符串,默认精确模式,如果不通过分词,无法直接生成正确的中文词云
result = " ".join(cut_text)  # 必须给个符号分隔开分词结果来形成字符串,否则不能绘制词云
# join函数的用法:'sep'.join(seq)参数说明:sep:分隔符。可以为空;seq:要连接的元素序列、字符串、元组、字典;即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串

# 生成词云图,这里需要注意的是WordCloud默认不支持中文,所以这里需已下载好的中文字库
# 无自定义背景图:需要指定生成词云图的像素大小,默认背景颜色为黑色,统一文字颜色:mode='RGBA'和colormap='pink'
wc = WordCloud(
    # 设置字体,不指定就会出现乱码
    background_color='white',  # 设置背景色,默认为黑色
    width=500,  # 设置背景宽
    height=350,  # 设置背景高
    max_font_size=50,  # 最大字体
    min_font_size=10,  # 最小字体
    mode='RGBA'  # 当参数为“RGBA”并且background_color不为空时,背景为透明
)
wc.generate(result)  # 根据分词后的文本产生词云
wc.to_file(r"wordcloud.png")  # 保存绘制好的词云图
plt.imshow(wc)  # 以图片的形式显示词云
plt.axis("off")  # 关闭图像坐标系,即不显示坐标系
plt.show()  # plt.imshow()函数负责对图像进行处理,并显示其格式,但是不能显示。其后必须有plt.show()才能显示


我们再去刚才那个文件夹看一下,哎呦,多了个照片
哈利波特的词云就出来啦。我们可以看到harry出现的次数最多。
加上这两行代码,就行了。在网上随便找了个兰亭集序,运行一下,ok。

点击运行

python词云库基础用法 python词云需要安装哪些库_python_02

图片.png

python词云库基础用法 python词云需要安装哪些库_python词云库基础用法_03

wordcloud(1).png

中文版词云(兰亭集序)

那么中文的词云是不是跟这个一样呢,并不是

python词云库基础用法 python词云需要安装哪些库_开发语言_04

图片.png

python词云库基础用法 python词云需要安装哪些库_词云_05

图片.png

python词云库基础用法 python词云需要安装哪些库_词云_06

wordcloud(1).png

今天对词云的分享就到这里,咱们下期再见!!!