您的位置:首页 > 编程语言 > Python开发

Python Word Cloud -在anaconda中把玩一下wordcloud

2017-05-29 08:35 381 查看

首先 如何安装wordcloud

这是在大神推荐的 wordcloud 库 使用很方便

github:https://github.com/amueller/word_cloud

官方地址:https://amueller.github.io/word_cloud/

1.前提是你得安装了wordcloud库才能使用 我使用的window环境

首先 到http://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud



我选择下载使用的是最后一个,那么如何安装到anaconda中呢?

在本机上找到:



打开之后:你得先进入这个.whl文件所在的位置,我是放在了D:\anaconda\myself-wordcloud文件夹下面,具体你去找自己下载放到了那里!!

注意 一定是你下载的文件名 是pip install XXXX.whl 不要直接复制我的哦

pip install wordcloud-1.3.1-cp36-cp36m-win_and64.whl




如何验证安装成功了呢 ?

我们测试一下 是否能行

# -*- coding: utf-8 -*-

from wordcloud import WordCloud

f = open(u'my_test1.txt','r').read()
#我们是从my_text.txt中读取文本的内容
wordcloud = WordCloud(background_color="white",width=1000, height=860, margin=2).generate(f)

# 我们可以对生成的词云的图片 设置width,height,margin属性
# generate 可以对全部文本进行自动分词,但是他对中文支持不好,所以我们使用英文测试
#wordcloud = WordCloud(font_path = r'D:\Fonts\simkai.ttf').generate(f)
# 你可以通过font_path参数来设置字体集

#background_color参数为设置背景颜色,默认颜色为黑色

import matplotlib.pyplot as plt
plt.imshow(wordcloud)
plt.axis("off")
plt.show()

wordcloud.to_file('my_test1.png')
# 保存图片




这样我们的第一个词云就OK啦!!!

2017.10.2

上面的教程都是基于Windows的, 后来渐渐的使用上了linux操作系统,同样的安装了一遍也是没有问题的。



conda list


发现存在wordcloud这个包,成功。

GitHub—-WordCloud 代码练手 包含结果图片

wordcloud的一下参数的详细用法

以上的教程都是基于英文的,中国文化博大精深,中文分词是有一定的难度。

jiaba官方介绍

中文分词jiaba的库Github代码

1.首先到上面的github网上去下载 jieba的包



官网上提供了几种安装方式 这里选择最简单的安装方式:

直接将下载好的jieba目录放到环境的指定位置,这里存放的是咱们的各种第三方的类库。

/xxx/xxx/python3.6/lib/site-packages/


这里 要注意我们由于liunx的环境内注重文件权限的安全,我们应该将文件的权限提高,不然会报没有模块内的某个属性这样的错误。

chmod -R 644 jieba


2.由于wordcloud是默认英文的,所有为了支持中文呢,必须导入中文字体的文件,这里提供了两个。

3.运行代码,现在是火热的十九大正在召开,那么我们在网上选取了一些报道的文章,来测试一下我们的功能。

#wordcloud生成中文词云

from wordcloud import WordCloud
import codecs
import jieba.finalseg
#import jieba.analyse as analyse
from scipy.misc import imread
import os
from os import path
import matplotlib.pyplot as plt
from PIL import Image, ImageDraw, ImageFont

# 绘制词云
def draw_wordcloud():
#读入一个txt文件
comment_text = open('test2.txt','r').read()
#结巴分词,生成字符串,如果不通过分词,无法直接生成正确的中文词云
cut_text = " ".join(jieba.cut(comment_text))
d = path.dirname(__file__) # 当前文件文件夹所在目录
color_mask = imread("bj.jpg") # 读取背景图片
cloud = WordCloud(
#设置字体,不指定就会出现乱码
font_path="hwxk.ttf",
#font_path=path.join(d,'simsun.ttc'),
#设置背景色
background_color='white',
#词云形状
mask=color_mask,
#允许最大词汇
max_words=2000,
#最大号字体
max_font_size=40
)
word_cloud = cloud.generate(cut_text) # 产生词云
word_cloud.to_file("pjl_cloud5.jpg") #保存图片
#  显示词云图片
plt.imshow(word_cloud)
plt.axis('off')
plt.show()

if __name__ == '__main__':

draw_wordcloud()


运行的两种不同的效果图如下:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python