• python绘制中文词云图


    准备工作

      主要用到Python的两个第三方库

    • jieba:中文分词工具
    • wordcloud:python下的词云生成工具

    步骤

    1. 准备语料库,词云图需要的背景图片
    2. 使用jieba进行分词,去停用词,词频统计等
    3. 使用wordcloud进行词频展示

    主要代码

     1 import jieba
     2 jieba.load_userdict('userdict.txt')  # 加载自定义词典
     3 sentence_depart = jieba.cut(sentence)  # 分词
     4 stop_words = stop_word_list()  # 创建停用词列表
     5 out_str = ''
     6 # 去停用词
     7 for word in sentence_depart:
     8     if word not in stop_words:
     9         if word != '	':
    10             out_str += word
    11             out_str += " "
     1 from os import path
     2 from scipy.misc import imread
     3 import jieba.analyse
     4 import matplotlib.pyplot as plt
     5 from wordcloud import WordCloud
     6 
     7 d = path.dirname(__file__)  # 返回当前运行脚本下的绝对路径
     8 back_coloring_path = "1.jpg"  # 随意准备一张图片,用来设置词云形状
     9 back_coloring = imread(path.join(d, back_coloring_path))  # 读取图片
    10 
    11 f = open(u'out.txt', 'r', encoding='utf-8').read()  # out.txt已经处理好的分词数据
    12 tags = jieba.analyse.extract_tags(f, topK=100, withWeight=False)  # 关键词提取 topK=100 提取TF-IDF权重最大的前100个关键词
    13 text = " ".join(tags)
    14 
    15 wordcloud = WordCloud(background_color='white',
    16                       width=2000,
    17                       height=1000,
    18                       margin=2,
    19                       max_words=100,  # 设置最多显示的词数
    20                       mask=back_coloring,  # 设置词云形状
    21                       font_path="simhei.ttf",  # 中文词图必须设置字体格式,否则会乱码,这里加载的是黑体
    22                       random_state=10)  # 设置有多少种随机生成状态,即有多少种配色方案
    23 w = wordcloud.generate(text)  # 传入需画词云图的文本
    24 plt.imshow(w)
    25 plt.axis('off')  # 关闭坐标轴
    26 plt.show()

    比如:传入如下两张图片作为词图的形状

    词云图结果

     

    参考资料:https://www.jianshu.com/p/2052d21a704c

  • 相关阅读:
    Day18-lvs
    mysql日志
    【杂文】我们都有光明的前途(回忆录)
    【杂文】银色的 NOI2020(退役记)
    【杂文】SCOI2020 游记
    【学习笔记】字符串—广义后缀自动机
    【学习笔记】数论、数学—常见定理、结论、性质汇总
    【杂文】随心一记
    【杂文】CSP2019 蒟蒻AFO(假)记
    【模板整合计划】目录
  • 原文地址:https://www.cnblogs.com/zymei/p/10741510.html
Copyright © 2020-2023  润新知