安装WordCloud库
第三方库的获取和安装
- 安装包管理工具pip
- 源文件安装
查看pip是否安装:在命令提示符(CMD)中输入pip
- 命令帮助信息:
pip -h - 安装一个库的命令格式:
pip install <拟安装库名> - 卸载一个已经安装第三方库的命令格式:
pip uninstall <拟卸载库名> - 列出当前系统已经安装第三方库的命令格式:
pip list - 列出某个已经安装库详细信息的命令格式:
pip show <拟查询库名> - 下载第三方库安装包但不安装的命令格式:
pip download <拟下载库名> - 联网搜索库名或摘要中关键字的命令格式:
pip search <拟查询关键字>
完成wordcloud库的安装界面
这里的话你可能要安装Microsoft Visual C++ 14.0(该组件是操作系统组件,并非Python模块库,因此pip也无法自动安装。需要手动安装。点击阅读全文即可下载)才能安装WordCloud
词云以词语为基本单元,根据在文本中出现的频率设计不同大小以形成视觉上的不同效果,形成”关键词云层”或”关键词渲染”,从而使读者是要”一瞥”即可领略文本的主旨。
python做词云呢,需要导入的包有wordcloud和PIL,其中PIL(Python Image Library)是python平台图像处理标准库,功能是真的强大。首先需要读取文件 。
首先我们要读取我们的txt文件,
from wordcloud import WordCloud
import PIL .Image as image
with open("C:/Users/Administrator/Desktop/test3.txt") as fp:
text=fp.read()
print(text)
接下来导包,生成最简单的词云:
from wordcloud import WordCloud
import PIL .Image as image
with open("C:/Users/Administrator/Desktop/test3.txt") as fp:
text=fp.read()
#print(text)
#将文本放入WordCoud容器对象中并分析
WordCloud = WordCloud().generate(text)
image_produce = WordCloud.to_image()
image_produce.show()
带形状的词云
from wordcloud import WordCloud
import PIL.Image as image
import numpy as np
import jieba
# 分词
def trans_CN(text):
# 接收分词的字符串
word_list = jieba.cut(text)
# 分词后在单独个体之间加上空格
result = " ".join(word_list)
return result
with open("C:/Users/Administrator/Desktop/test1.txt") as fp:
text = fp.read()
# print(text)
# 将读取的中文文档进行分词
text = trans_CN(text)
mask = np.array(image.open("C:/Users/Administrator/Desktop/xingxing.png"))
wordcloud = WordCloud(
# 添加遮罩层
mask=mask,
# 生成中文字的字体,必须要加,不然看不到中文
font_path = "C:/Windows/Fonts/simkai.ttf"
).generate(text)
image_produce = wordcloud.to_image()
image_produce.show()
我这里的图形是星星
输出之后
这里注意的是文件要用绝对路径,记得把\改成/,不然可能会报错
含有中文的词云
上述生成词云的代码只能读取英文的文件去生成词云,如果需要生成中文的词云,还需导入jieba分词的包。jieba分词的切分还是蛮准的。接下来生成中文的词云(讲解可见代码注释)
jieba(结巴)是Python中一个重要的第三方中文分词函数库,能够将一段中文文本分割成中文词语的序列。
from wordcloud import WordCloud
import PIL.Image as image
import numpy as np
import jieba
# 分词
def trans_CN(text):
# 接收分词的字符串
word_list = jieba.cut(text)
# 分词后在单独个体之间加上空格
result = " ".join(word_list)
return result
with open("C:/Users/Administrator/Desktop/test1.txt") as fp:
text = fp.read()
# print(text)
# 将读取的中文文档进行分词
text = trans_CN(text)
mask = np.array(image.open("C:/Users/Administrator/Desktop/xingxing.png"))
wordcloud = WordCloud(
# 添加遮罩层
mask=mask,
# 生成中文字的字体,必须要加,不然看不到中文
font_path = "C:/Windows/Fonts/simkai.ttf"
).generate(text)
image_produce = wordcloud.to_image()
image_produce.show()
这里的话,文字会自动填充在有颜色的区域