本文代码和大体思路参考自:
https://blog.csdn.net/FireMicrocosm/article/details/81067003
准备工作
jieba:中文分词工具(关于Jieba上一篇博客里面有简单的使用介绍)
wordcloud:Python下的词云生成工具
一份txt文档(文字数量别太少)一张背景图 随便找都可以
代码示例
# -*- coding: utf-8 -*-
# @Time : 2019/12/12 16:52
# @Author : Zhanghui
import jieba
# pip install opencv-python
import cv2
import matplotlib.pyplot as plt
from wordcloud import WordCloud
with open('text.txt','r',encoding='UTF-8') as f:
text = f.read()
# 利用jieba分词的精确模式进行分词
# jieba.load_userdict('dict.txt')
cut_text = " ".join(jieba.cut(text))
# cv2.imread()接口读图像,读进来直接是BGR 格式数据格式在 0~255,通道格式为(W,H,C)
color_mask = cv2.imread('background.jpg')
cloud = WordCloud(
# 设置字体,不指定会产生乱码(在c盘的隐藏文件夹里)
font_path=" C:\\Windows\\Fonts\\STXINGKA.TTF",
# 设置背景颜色
background_color='white',
# 词云形状
mask=color_mask,
# 允许最大词汇量
max_words=2000,
# 最大号字体
max_font_size=40
)
wCloud = cloud.generate(cut_text)
wCloud.to_file('cloud.jpg')
plt.imshow(wCloud, interpolation='bilinear')
# 关闭坐标系
plt.axis('off')
plt.show()
新手入坑,如有错误,请多指教