python生成个性词云图

11/6/2021 python词云

# 1.需求

根据公司logo或者个人姓名等,生成有个性的词云标签图

# 2.实现

from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
import jieba
from wordcloud import WordCloud, STOPWORDS

# 读取Text文本,没有分好词的
_text = open(r'_xpt.txt', encoding='utf-8').read()
# 将文本已词语的方式分割 分割后赋值给Word
# ut_all=True 是全模式 cut_all=False 是精确模式 默认是精确模式
cutData = jieba.cut(_text, cut_all=False)
# 以空格分开词语
text = " ".join(cutData)

# 获取已经空格分好的词汇
# text = open(r'xpt.txt', encoding='utf-8').read()
# 这里的图形,不要用透明的png,画布颜色要用全白(#FFFFFF),也就是白底,其他颜色都会被画出来
alice_mask = np.array(Image.open("xpt.png"))
# 处理停用词
stopwords = set(STOPWORDS)
stopwords.add("的")
wc = WordCloud(
    # 引入字体,使用中文词汇就必须要引入,纯英文不需要
    font_path=r'wqy-microhei.ttc',
    # 如果不需要生成透明png,就设置为"white"等
    background_color=None,
    # 显示的词的最大个数
    max_words=2000,
    # 如果参数为空,则使用二维遮罩绘制词云。
    # 如果 mask 非空,设置的宽高值将被忽略,遮罩形状被 mask 取代。
    mask=alice_mask,
    # 当参数为“RGBA”并且background_color不为空时,背景为透明
    mode='RGBA',
    stopwords=stopwords)
# 生成词云图
wc.generate(text)
# 保存图片
wc.to_file("xpt_result.png")

# 3.效果

# 3.1蒙版图

xpt

# 3.2成果图

xpt_result

# 4.项目地址

完整案例已发布到了码云

https://gitee.com/createsmile/wordcloud_custom (opens new window)

Last Updated: 11/6/2021, 4:50:00 PM