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, # 设置有多少种随机生成状态,即有多少种配色方案
然后就是设置生成图片的路径,设置文字,开始生成。
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, # 设置有多少种随机生成状态,即有多少种配色方案
然后就是设置生成图片的路径,设置文字,开始生成。
相关文章推荐
- 用WORD根据文章的章节自动生成目录
- Python根据上下限生成不重复随机数1
- 根据<h*>标签JavaScript/jQuery自动生成文章目录(页面内导航)且平滑跳转
- php openssl 生成公私钥,根据网上文章整理的
- 利用python操作android的xml资源文件,让其按照中文自动生成对应中文首字母加起来的名字,并且根据中文在java类里面替代对应的中文
- 用WORD根据文章的章节自动生成目录
- python读取csv----python根据IP列表生成百度IP热点图tilemap
- Python操作Word批量生成文章的方法
- Python操作Word批量生成文章
- python根据IP列表生成百度IP热点图tilemap
- python 使用CppHeaderParser库 根据c++头文件生成html说明文档表格
- 简单使用Python自动生成文章
- 简单使用Python自动生成文章
- Python操作Word批量生成文章的方法
- python-根据字符串动态生成对象eval
- Editplus借助python实现根据方法参数自动生成php注释
- Python自动生成文章
- python根据时间生成mongodb的ObjectId的方法
- Python操作Word【批量生成文章】
- python根据IP列表生成百度IP热点图tilemap