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

python根据文章生成词云

2017-06-26 17:30 253 查看
from wordcloud import WordCloud
import jieba
import PIL
import matplotlib.pyplot as plt
import numpy as np

def wordcloudplot(txt):
path = r'C:/Users/wjt/Desktop/msyh.ttf'
alice_mask = np.array(PIL.Image.open('C:/Users/wjt/Desktop/timg.jpg'))
wordcloud = WordCloud(font_path=path,
background_color="white",
margin=5, width=1800, height=800, mask=alice_mask, max_words=2000, max_font_size=60,
random_state=42)
wordcloud = wordcloud.generate(txt)
wordcloud.to_file('C:/Users/wjt/Desktop/hhhaa.jpg')
plt.imshow(wordcloud)
plt.axis("off")
plt.show()

def main():
a = []
f = open(r'C:/Users/wjt/Desktop/tlbb.txt', 'r').read()
words = list(jieba.cut(f))
for word in words:
if len(word) > 1:
a.append(word)
txt = r' '.join(a)
wordcloudplot(txt)

if __name__ == '__main__':
main()





哈哈,这次不按套路出牌,先直接上代码,首先要安装PIL,wordcloud,jieba。。我在安装的时候报VC9.0错误,根据错误返回的信息:error: Microsoft Visual C++ 9.0 is required. Get it from http://aka.ms/vcpython27到这个网站里面下载安装VC组件。分析下,path=r"C:/User/......."必须要有的,不然生成不了中文词云。alice_mask是结构图,也就是这只鸟,经过测试白底颜色鲜明的图才能生成结构清晰的词云。wordCloud的构造函数意思如下
background_color = 'white',    # 设置背景颜色

mask = alice_mask,        # 设置背景图片

max_words = 2000,            # 设置最大现实的字数

stopwords = STOPWORDS,        # 设置停用词

font_path = path,# 设置字体格式,如不设置显示不了中文

max_font_size = 50,            # 设置字体最大值
random_state = 30,            # 设置有多少种随机生成状态,即有多少种配色方案

然后就是设置生成图片的路径,设置文字,开始生成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息