Python生成词云的实现代码

yipeiwu_com6年前Python基础

1 概述

利用Python生成简单的词云,需要的工具是cython,wordcloud与anaconda.

2 准备工作

包括安装cython,wordcloud与anaconda.

2.1 安装anaconda

下载官网


选择对应的版本下载即可.

2.2 安装cython

cython是为了安装wordcloud准备的.

pip -m pip install --upgrade cython

2.3 安装wordcloud

安装wordcloud前需要先安装Microsoft Visuall C++ 14.0.
这里下载
安装好了以后重启,输入

python -m easy_install wordcloud

3 使用

3.1 打开Jupyter

打开Jupyter Notebook.


然后会在浏览器打开这个页面,新建一个notebook.


先把需要的库导入:

from wordcloud import WordCloud
import matplotlib.pyplot as plt

3.2 创建文字库

简单的文字库可以直接选择一个txt文件,复杂的话可以选择创建一个excel,导出为csv文件,然后利用pandas库的read_csv()读入文件.这里创建一个txt,空格分隔单词即可.


然后上传到Jupyter中:

3.3 生成词云

首先读入文件:

text = open('1.txt').read()

然后使用WordCloud().generate(text),在里面设置各种属性.

wc=WordCloud(
  width=800,
  repeat=True,
  height=800).generate(text)

这里设置了高度与宽度,允许重复.

plt.imshow(wc,interpolation="bilinear")
plt.axis("off")
plt.show()

显示词云,

interpolation='bilinear'

会使显示平滑更加平滑,axis("off")表示不显示坐标轴.
下面是效果:

3.4 注意事项

如果含有汉字,首先在读取时设置编码:

text = open('1.txt',encoding='utf-8')

然后再生成词云时设置字体:

wc = WordCloud(font_path=r'C:\Windows\Fonts\simfang.ttf')

测试:

text=open('1.txt',encoding='utf-8').read()
wc=WordCloud(
  width=1300,
  repeat=True,
  font_path=r'C:\Windows\Fonts\simfang.ttf',
  height=1300).generate(text)
plt.imshow(wc,interpolation="bilinear")
plt.axis("off")
plt.savefig('aaaa.jpg')


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Pyinstaller将py打包成exe的实例

Pyinstaller将py打包成exe的实例

背景:分享python编写的小脚本时,拷贝代码还缺各种环境,使用Pyinstaller将py可以打包成exe,直接运行即可 1、安装pyinstaller运行时所需要的windows拓展...

使用Python神器对付12306变态验证码

使用Python神器对付12306变态验证码

临近春节,【听图阁-专注于Python设计】小编带领大家用Python抢火车票! 首先我们需要splinter 安装: pip install splinter -i http://py...

Python 旋转打印各种矩形的方法

打印旋转矩阵应该是很经典的算法问题了。 题目描述如下: 给定一个m * n要素的矩阵。按照螺旋顺序,返回该矩阵的所有要素。 思路:1,先定义矩阵的左上和右下的坐标,然后通过两个坐标来打印...

git进行版本控制心得详谈

git进行版本控制心得详谈

小编在学习可视化的时候,接触到git,所以这里写一下关于GitHub的有关知识,写这个的目的还是巩固自己的学习,一方面可以提高自己,另一方面回头看一下,有什么更深层次的东西还可以再记录。...

Python使用指定字符长度切分数据示例

处理思路 笔者在学习时被要求在Python中使用指定字符长度切分数据。 如,string类型的字符串film_type = ‘都市浪漫爱情喜剧',已知电影类型都是两个中文字符组成,要求切...