zoukankan      html  css  js  c++  java
  • python绘制词云图

    词云图是文本分析中比较常见的一种可视化手段,将出现频率相对高的词字体相对变大,让重点词,关键词一目了然

    主要用到了python的两个库:wordcloud和jieba,直接pip安装即可

    jieba主要用于中文分词,wordcloud主要用于统计词频和绘图
    jieba分词:

    import jieba
    s = "一身男儿血,满腔报国志"
    print("精准模式:" + '|'.join(jieba.cut(s)))
    print("全模式:" + '|'.join(jieba.cut(s, cut_all=True)))
    print("搜索引擎模式:" + '|'.join(jieba.cut_for_search(s)))
    

    输出:

    精准模式:一身|男儿|血|,|满腔|报国志
    全模式:一身|男儿|血|,|满腔|报国|报国志
    搜索引擎模式:一身|男儿|血|,|满腔|报国|报国志
    

    这里还可以设置自定义词典,比如“一身男儿血”不能进行分割,我们可以将“一身男儿血”放入自定义词典

    自定义词典的格式:一个词占一行,比如我们设置的dict.txt是

    import jieba
    s = "一身男儿血,满腔报国志"
    jieba.load_userdict('dict.txt')
    print("精准模式:" + '|'.join(jieba.cut(s)))
    print("全模式:" + '|'.join(jieba.cut(s, cut_all=True)))
    print("搜索引擎模式:" + '|'.join(jieba.cut_for_search(s)))
    

    输出:

    精准模式:一身男儿血|,|满腔|报国志
    全模式:一身|一身男儿血|男儿|血|,|满腔|报国|报国志
    搜索引擎模式:一身|男儿|一身男儿血|,|满腔|报国|报国志
    

    首先我们找一张图片,如:

    准备一段文字,可以是字符串,也可以是写在文件里面的,写在文件内的需要读取出来,然后在用jieba进行分词,如果是分好的词,可以直接进行使用
    代码:

    import jieba
    import numpy as np
    import PIL.Image as Image
    from wordcloud import WordCloud
    
    text = '''
    世界上最简单、有最重要的东西是什么?——是数字。
    0到9九个数字,支撑起了人类的科学大厦。0和1两个数字,
    构建了无边无际的互联网世界。5G、大数据、人工智能、
    工业互联网……“新基建”将推动我国步入下一个发展周期,
    背后的本质是0和1。再来看一串数字:14万所学校,
    300万个班级,1.3亿学生,全国3亿人。
    这是钉钉最新发布的“在线上课”数据和总的用户数据。
    这串数字的背后,仍是0和1。没有0和1,就没有中国的抗疫胜利,
    社会就要停滞,经济就要崩溃。
    '''
    
    word_list = jieba.cut(text)
    space_word_list = ' '.join(word_list)
    print(space_word_list)
    # 调用包PIL中的open方法,读取图片文件,通过numpy中的array方法生成数组
    mask_pic = np.array(Image.open("1.png"))
    word = WordCloud(
        font_path='C:/Windows/Fonts/simfang.ttf',  # 设置字体,本机的字体
        mask=mask_pic,  # 设置背景图片
        background_color='white',  # 设置背景颜色
        max_font_size=150,  # 设置字体最大值
        max_words=2000,  # 设置最大显示字数
        stopwords={'的'}  # 设置停用词,停用词则不在词云途中表示
                     ).generate(space_word_list)
    image = word.to_image()
    word.to_file('2.png')  # 保存图片
    image.show()
    

    结果:

  • 相关阅读:
    powerdesigner
    UML类图几种关系的总结(转载 http://blog.csdn.net/tianhai110/article/details/6339565 )
    vuex
    options请求(复杂请求)
    Vue 编程式的导航
    JS定义类
    cors中间件
    vue axios
    restframewor 版本(version)
    pycharm 安装vue
  • 原文地址:https://www.cnblogs.com/hziwei/p/12919143.html
Copyright © 2011-2022 走看看