用python做词云

安装WordCloud库

第三方库的获取和安装

  1. 安装包管理工具pip
  2. 源文件安装

查看pip是否安装:在命令提示符(CMD)中输入pip

  1. 命令帮助信息:
    pip -h
  2. 安装一个库的命令格式:
    pip install <拟安装库名>
  3. 卸载一个已经安装第三方库的命令格式:
    pip uninstall <拟卸载库名>
  4. 列出当前系统已经安装第三方库的命令格式:
    pip list
  5. 列出某个已经安装库详细信息的命令格式:
    pip show <拟查询库名>
  6. 下载第三方库安装包但不安装的命令格式:
    pip download <拟下载库名>
  7. 联网搜索库名或摘要中关键字的命令格式:
    pip search <拟查询关键字>

完成wordcloud库的安装界面
这里的话你可能要安装Microsoft Visual C++ 14.0(该组件是操作系统组件,并非Python模块库,因此pip也无法自动安装。需要手动安装。点击阅读全文即可下载)才能安装WordCloud
用python做词云_第1张图片

词云以词语为基本单元,根据在文本中出现的频率设计不同大小以形成视觉上的不同效果,形成”关键词云层”或”关键词渲染”,从而使读者是要”一瞥”即可领略文本的主旨。

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()

我这里的图形是星星
用python做词云_第2张图片
输出之后
用python做词云_第3张图片
这里注意的是文件要用绝对路径,记得把\改成/,不然可能会报错

含有中文的词云

上述生成词云的代码只能读取英文的文件去生成词云,如果需要生成中文的词云,还需导入jieba分词的包。jieba分词的切分还是蛮准的。接下来生成中文的词云(讲解可见代码注释)

jieba(结巴)是Python中一个重要的第三方中文分词函数库,能够将一段中文文本分割成中文词语的序列。
用python做词云_第4张图片

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()

用python做词云_第5张图片
这里的话,文字会自动填充在有颜色的区域

用python做词云_第6张图片

你可能感兴趣的:(用python做词云)