Wordcloud词云教程

原始图片

这里写图片描述

生成词云后图片

这里写图片描述

开始安装阶段

1->安装wordcloud

简单安装

Pip install wordcloud(容易报错)

手动安装
wordcloud下载地址
点击链接 ctrl+f 输入wordcloud 找到匹配的模块 下载

下载完成后 在文件所在目录下打开命令行 输入:

Pip install wordcloud-1.3.2-cp36-cp36m-win32.whl
等待安装完成

2->安装其他模块

wordcloud需要配合其他模块来完成

Numpy+PIL模块
jieba分词模块
Scipy模块

这是主要模块,安装方式同上

注意:读取图片有两种方式:numpy+PIL读取图片,sicpy.Misc模块读取图片 选择其中之一安装即可

开始操作阶段

3->开始词云

选择一段文字,一张图片我们就开始了

首先获取文字content

    Content_text=”/”.join(jieba.cut(content),cut_all=”True”) 
  • 注意参数Cut_all

    cut_all为真时,开启全模式(速度快,质量不保证)
    cut_all为假时,开启精准模式(质量保证,适合文本分析)

定义wordcloud类

    From wordcloud import WordCloud,STOPWORDS

    WordCloud(..........)

    下边是WordCloud函数的参数:

    Background_color=””背景色
    Font_path=”字体路径” 防止无法显示文字 注意 字体路径不支持中文
    Max_words=最大词量
    Mask=你读取的图片 图像形状
    Stopwords= 禁词
    Max_font_size= 最大词体

读取图片

方式一

    from scipy.misc import imread
    Pic=imread(图片path)

方式二

    from PIL import Image
    Import numpy as np
    Pic =np.array(Image.open(图片 path))

生成词云

Ws.generate(content_text)

储存为文件

Ws.to_file(‘路径,格式’)

附上源码

#!/usr/bin/python
#-*-coding:utf-8-*-
#coding:utf-8
__author__='zyy'

#import matplotlib #解决matplotlib远程不能调用的错误
#matplotlib.use('Agg')
import pymysql
import jieba
from os import path
import matplotlib.pyplot as plt
import matplotlib.image as mping
from PIL import Image
import numpy as np
from wordcloud import WordCloud,STOPWORDS,ImageColorGenerator
from scipy.misc import imread

#获取文字
def text():
    text=[]
    Db=pymysql.connect('?','?','?','?',charset='utf8')
    cursor=Db.cursor()
    sql='select advantage from data'
    cursor.execute(sql)
    turple_text=cursor.fetchall()
    for s in turple_text:
        s = ''.join(list(s))
        text.append(s)
    text=''.join(list(text))
    return text

def word(text):
    # 获取当前路径
    d = path.dirname(__file__)

    #jieba分词
    jieba_text=' '.join(jieba.cut(text,cut_all=False)) #妈的 分词要加空格 或者特殊字符

    #读取图片
    china=imread("basketball.png") #scipy.misc方式都可以读取图片
    #china=np.array(Image.open(path.join(d,'basketball.png'))) #numpy+PIL方式都可以读取图片

    #设置词云颜色
    image_color=ImageColorGenerator(china)

    #设置禁词
    stopwords=set(STOPWORDS)
    stopwords.add("said")

    #调用WordCloud
    wc=WordCloud(
    background_color="white",
    font_path=path.join(d,'Bold.ttf'),
    max_words=2000,
    mask=china,
    max_font_size=40,
    stopwords=stopwords
)

#生成文字云
wc.generate(jieba_text)

#储存到文件
wc.to_file('word.png')

#显示词云
plt.imshow(wc.recolor(color_func=image_color),interpolation='bilinear')
plt.axis('off')
plt.show()

if __name__=='__main__':
    text=text()
    word(text)
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值