生成词云
生成词云
import matplotlib.pyplot as plt
import jieba
from wordcloud import WordCloud
def makeWordCloud(inputPath, outPath, bgImgPath=None):
'''
生成词云对象,保存词云图片
:param inputPath: 要生成词云所使用的文件(路径)
:param outPath: 生成词云图片的保存路径
:param bgImgPath: 词云背景图(使用 png 格式时要注意)
:return: <wordcloud.wordcloud.WordCloud object at 0x000000000B1E7F60>
'''
# 官方地址:http://amueller.github.io/word_cloud/
# 1、获取文章内容
text = open(inputPath, mode='r', encoding='utf8').read()
# 2、jieba 分词
cut_text = jieba.cut(text)
# 3、以空格拼接起来
result = " ".join(cut_text)
# 4、生成词云
wc = WordCloud(
font_path='simhei.ttf', # 字体路劲
background_color='white', # 背景颜色
width=8000,
height=600,
max_font_size=80, # 最大字体大小
min_font_size=20, # 最小字体大小
mask=plt.imread(bgImgPath), # 背景图片
max_words=1000, # 最大字数
mode='RGBA' # 默认 RGB,当模式为“RGBA”时,将生成透明背景 background_color 是 None。
)
wc.generate(result)
wc.to_file(outPath) # 图片保存
return wc
def showWordCloudImg(wc, filename):
'''
显示词云图片
:param wc:
:param filename: 显示图片的名称
:return:
'''
# 显示词云图片
plt.figure(filename)
plt.imshow(wc)
plt.axis('off') # 关闭坐标
plt.show()
if __name__ == '__main__':
wc = makeWordCloud('song.txt', 'wc.png', bgImgPath='timg.jpg')
showWordCloudImg(wc, '长篇小说')
词云背景图片:
生成的词云图片:
参考:https://www.cnblogs.com/derek1184405959/p/9440526.html