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

首先 如何安装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()

运行的两种不同的效果图如下:
这里写图片描述

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值