python版本:python 2
ide:pycharm2018
pip 安装 jieba , wordcloud ,matplotlib
#保存至脚本同一级位置
百度一段词典:红楼梦,水浒传
下载中文转换的ttf文件:https://s3-us-west-2.amazonaws.com/notion-static/b869cb0c7f4e4c909a069eaebbd2b7ad/simsun.ttf
# coding:utf-8
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import jieba
# 生成词云
def create_word_cloud(filename):
text = open("{}.txt".format(filename)).read()
wordlist = jieba.cut(text, cut_all=True) # 结巴分词
wl = " ".join(wordlist)
# 设置词云
wc = WordCloud(
# 设置背景颜色
background_color="black",
# 设置最大显示的词云数
max_words=2000,
# 这种字体都在电脑字体中,一般路径
font_path='simsun.ttf',
height=1200,
width=1600,
# 设置字体最大值
max_font_size=100,
# 设置有多少种随机生成状态,即有多少种配色方案
random_state=100,
)
myword = wc.generate(wl) # 生成词云
# 展示词云图
plt.imshow(myword)
plt.axis("off")
plt.show()
wc.to_file('img_book.png') # 把词云保存下
if __name__ == '__main__':
create_word_cloud('mytext')
加载背景图片生成词云
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import jieba
import numpy as np
from PIL import Image
# 生成词云
def create_word_cloud(filename):
text = open("{}.txt".format(filename)).read()
# 结巴分词
wordlist = jieba.cut(text, cut_all=True)
wl = " ".join(wordlist)
# 加载背景图片
cloud_mask = np.array(Image.open("bg.png"))
# 设置词云
wc = WordCloud(
# 设置背景颜色
background_color="black",
#背景图片
mask=cloud_mask,
# 设置最大显示的词云数
max_words=2000,
# 这种字体都在电脑字体中,一般路径
font_path='simsun.ttf',
height=1200,
width=1600,
# 设置字体最大值
max_font_size=100,
# 设置有多少种随机生成状态,即有多少种配色方案
random_state=100,
)
myword = wc.generate(wl) # 生成词云
# 展示词云图
plt.imshow(myword)
plt.axis("off")
plt.show()
wc.to_file('py_book.png') # 把词云保存下
if __name__ == '__main__':
create_word_cloud('mytext')