首页/ Python/ 正文

Python根据关键字生成云图

微站长 3年前 1132 1

这玩意可以用来生成一张图片(根据关键字出现次数,次数越多,文字图片越突出)

from wordcloud import WordCloud
import jieba


def createWordcloud(path):
    # 打开content.txt文件,并将编码设为utf-8
    text = open(path, 'r', encoding='utf-8').read()
    # print(text)
    # 2.结巴中文分词,生成字符串,默认精确模式,如果不通过分词,无法直接生成正确的中文词云
    cut_text = jieba.cut(text)
    # print(type(cut_text))
    # 必须给个符号分隔开分词结果来形成字符串,否则不能绘制词云
    result = " ".join(cut_text)
    # print(result)
    # 3.生成词云图,这里需要注意的是WordCloud默认不支持中文,所以这里需已下载好的中文字库
    # 无自定义背景图:需要指定生成词云图的像素大小,默认背景颜色为黑色,统一文字颜色:mode='RGBA'和colormap='pink'
    wc = WordCloud(
        # 设置字体,不指定就会出现乱码
        font_path='C://Windows//Fonts//msyh.ttc',
        # 设置背景色
        background_color='white',
        # 设置背景宽
        width=360,
        # 设置背景高
        height=200,
        # 最大字体
        max_font_size=100,
        # 最小字体
        min_font_size=10,
        mode='RGBA',
        # colormap='pink'
    )
    # 产生词云
    wc.generate(result)
    # 保存图片
    wc.to_file(r"wordcloud.png")  # 按照设置的像素宽高度保存绘制好的词云图,比下面程序显示更清晰


if __name__ == '__main__':
    # 要读取的文件
    path_txt = 'content.txt'
    createWordcloud(path_txt)

生成效果

image.png

分享到:

如果您喜欢本站,点击这儿不花一分钱捐赠本站

资源解压密码默认为:vzzw.com www.vzzw.com

本站部分资源收集于网络,如有侵权请联系9108780#qq.com(#替换成@)

THE END

评论列表

访客 湖南省衡阳市 移通
这个就厉害了
2022年10月01日 12:29:52
回复

发表评论: