python用wordcloud简单词云_在Python中利用wordcloud生成词云

一、生成汉字词云图的代码如下:

from wordcloud import WordCloud

import matplotlib.pyplot as plt #绘制图像的模块

import jieba #jieba分词

path_txt='E://python/all.txt'

f = open(path_txt,'r',encoding='UTF-8').read()

# 结巴分词,生成字符串,wordcloud无法直接生成正确的中文词云

cut_text = " ".join(jieba.cut(f))

wordcloud = WordCloud(

#设置字体,不然会出现口字乱码,文字的路径是电脑的字体一般路径,可以换成别的

font_path="C:/Windows/Fonts/simfang.ttf",

#设置了背景,宽高

background_color="white",width=1000,height=880).generate(cut_text)

plt.imshow(wordcloud, interpolation="bilinear")

plt.axis("off")

plt.show()

1884366-20200127172434270-676345477.png

说明:

1、其中path_txt的值为生成词云文件的所在路径。

2、字符串界定符前面加字母r或R表示原始字符串,其中的特殊字符不需要进行转义,但字符串的最后一个字符不能是\符号。

3、通过pip install 安装所需要的模块。例如 pip install wordcloud ,pip install jieba, pip install matplotlib。其中在电脑的命令提示符中输入即可。

1884366-20200127173317579-464900445.png

4、plt.axis("off")意思是关闭轴线和标签,与假一样。

二、生成英文词云

1、简单例子

from wordcloud import WordCloud

import matplotlib.pyplot as plt

f = open('E:/Python/练习/sports.txt','r').read()

wordcloud = WordCloud(background_color = "white" , width = 1000 , height = 860 , margin = 2).generate(f)

plt.imshow(wordcloud)

plt.axis("off")

plt.show()

1884366-20200128130058786-94783471.png

2、设置字体的颜色的例子

from wordcloud import (WordCloud , get_single_color_func)

import matplotlib.pyplot as plt

class SimpleGroupedColorFunc(object):

def __init__(self , color_to_words,default_color):

self.word_to_color = {word:color

for(color , words) in color_to_words.items()

for word in words}

self.default_color = default_color

def __call__(self , word , **kwargs):

return self.word_to_color.get(word , self.default_color)

class GroupedColorFunc(object):

def __init__(self , color_to_words , default_color):

self.color_func_to_words = [

(get_single_color_func(color) , set(words))

for (color , words) in color_to_words.items()]

self.default_color_func = get_single_color_func(default_color)

def get_color_func(self , word):

try:

color_func = next(

color_func for (color_func , words) in self.color_func_to_words

if word in words)

except StopIteration:

color_func = self.default_color_func

return color_func

def __call__(self , word , **kwargs):

return self.get_color_func(word)(word , **kwargs)

f = open('E:/Python/练习/sports.txt','r').read()

wc = WordCloud( width = 1000 , height = 860 , collocations = False ).generate(f)

color_to_words ={

'#00ff00':['important','beat','minute','proud','frist','coach'

],

'red':['Chinese','win','team','said','goal','header'

],

'yellow':['Japan','Korea','South','China'

]

}

default_color = 'grey'

grouped_color_func = GroupedColorFunc(color_to_words , default_color)

wc.recolor(color_func = grouped_color_func)

plt.imshow(wc , interpolation = "bilinear")

plt.axis("off")

plt.show()

1884366-20200128153847542-564564194.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值