zoukankan      html  css  js  c++  java
  • 用wordcloud做一张简单词云图

    第一步,生成一张最简单的词云图

    1 from wordcloud import WordCloud
    2 import matplotlib.pyplot as plt
    3 #读取一个文本
    4 txt = open('1.txt',encoding='utf-8').read()
    5 #创建一个wordcloud对象
    6 wc = WordCloud().generate(txt)
    7 plt.imshow(wc)
    8 plt.axis("off")#影藏坐标
    9 plt.show()#将图片展示出来

     Ctrl点击WordCloud()查看源代码

     可以看到,里面有很多参数可以使用

    这里我们用几个常用的

    wc = WordCloud(background_color='white',scale=2,width=400,height=600,max_words=200,mask=None).generate(txt)

    分别为设置背景色,scale可以理解为清晰度,越大图片越清晰,处理时间越长,width和height设置宽高,mask代表蒙版,也可以理解为贴图,我们后面会用到

    运行结果如图

    接下来我们来尝试制作中文的词云图,wordcloud默认是不支持中文的,所有我们需要导入中文字体,否在会出现乱码

    这时,我们在wordcloud中加入font_path="你字体的路径" 就可以解决    找不到就网上下一个

     当然这个是我本身就已经分词分好了的情况,不然我们得用jieba库来分词,也很简单,加一段这个

    1 word = jieba.lcut(text)
    2 text =''.join(word)

    这样的词云图看上去还是很low对吧,这时我们需要用图片来生成好看的词云图

     1 rom wordcloud import WordCloud
     2 import matplotlib.pyplot as plt
     3 from PIL import Image
     4 import numpy as np
     5 #读取一个文本
     6 text = open('1.txt',encoding='utf-8').read()
     7 #创建一个wordcloud对象
     8 image = np.array(Image.open("ai.png"))
     9 wc = WordCloud(font_path="字体.ttc",#设置字体,默认不支持中文
    10                background_color='white',#设置背景色为空时背景透明色
    11                # max_font_size=400, #最大字号
    12                # min_font_size=100,#最小字号
    13                max_words=3000,#最大词数
    14                mask=image,
    15                scale=2,
    16                width=800,
    17                height=500,#如果mask非空,则width和height将被忽略
    18                #random_state=10#设置随机数
    19                ).generate(text=text)
    20 plt.imshow(wc)
    21 plt.axis("off")#影藏坐标
    22 #wc.to_file("wc.png")#保存图片
    23 plt.show()

                                            

     有几个坑讲一下吧,文本格式看清楚是什么有可能是ANSI等,那就相应改一下,保存的话用to_file()清晰度会好一些

  • 相关阅读:
    MySql 获取当前节点及递归所有上级节点
    MySql创建树结构递归查询存储过程
    F2工作流引擎Web层全新扁平化UI上线
    F2工作流引擎参与者类型成员的交、并、互拆计算规则
    F2工作流引擎之组织用户模型(四)
    F2工作流引擎之 工作流运转模型(三)
    F2工作流引擎之 概述(一)
    离线安装docker,并导入docker镜像
    sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set 的解决办法
    yml 文件中使用环境变量
  • 原文地址:https://www.cnblogs.com/Truedragon/p/12711590.html
Copyright © 2011-2022 走看看