例一:制作三国演义的词云

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('三国演义')