例一:制作三国演义的词云
![]()
![]()
wordcloud import WordCloud
import matplotlib.pyplot as plt
import jieba
# 生成词云
def create_word_cloud(filename):
text = open("{}.txt".format(filename), 'rb' ).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('三国演义')
例二:制作三国演义心形的词云
![]()
![]()
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), 'rb' ).read()
#结巴分词
wordlist = jieba.cut(text, cut_all=True) # 结巴分词
wl = " ".join(wordlist)
cloud_mask = np.array(Image.open("123.png"))
# 设置词云
wc = WordCloud(
# 设置背景颜色
background_color="pink",
# 设置最大显示的词云数
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('三国演义')