080-生成词云

生成词云

生成词云

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值