当前位置: 首页 > article >正文

python语言基础-4 常用模块-4.9 wordcloud模块

声明:本内容非盈利性质,也不支持任何组织或个人将其用作盈利用途。本内容来源于参考书或网站,会尽量附上原文链接,并鼓励大家看原文。侵删。

4.9 wordcloud模块

4.9.1 wordcloud库简介

wordcloud是优秀的词云展示第三方库。

词云就是以词语为基本单位,更加直观和艺术地展示文本的一种方式。

wordcloud需要安装:pip install wordcloud。

4.9.2 wordcloud库使用说明

wordcloud库把词云wordcloud(词云)当作一个对象。库中提供了针对该对象操作的方法,这些方法可以根据文本中词语出现的频率等参数绘制词云。而词云的形状、尺寸、颜色及字体等都可以通过对象参数进行配置。

(1)wordcloud中的方法

wordcloud库提供了如下常规方法:

  • .Wordcloud():创建词云对象并且可以配置对象的属性;
  • .generate(txt):向wordcloud对象中加载文本txt。其中txt可以是文本字符串;
  • .to_file(filename):将词云输出为图像文件,png或jpg格式。

(2)配置wordcloud对象的参数

wordcloud对象主要通过.wordcloud(<参数>)方法配置参数。其中的<参数>有如下选项:

  • width:指定词云生成图片的宽度,默认400像素;
  • height:指定生成词云图片的高度,默认200像素;
  • min_font_size:指定词云中字体的最小字号,默认4号;
  • max_font_size:指定词云中字体的最大字号,根据高度自动调节;
  • font_step:指定词云中字体号的步进间隔,默认为1;
  • font_path:指定字体文件路径,默认None;
  • max_words:指定词云显示的最大单词数量,默认200;
  • stop_words:指定词云中的排除词列表,即不显示的单词列表;
  • mask:指定词云的形状,默认为长方形,需要引用imread()函数;
  • background_color:指定词云图片的背景颜色,默认为黑色。

一些示例如下:

import wordcloud
from scipy.misc import imread  # 配置词云的形状需要用到另一个库

mk = imread("pic.png")  # 配置形状变量
w = wordcloud.Wordcloud(with=600, height=400, min_font_size=10, max_font_size=20, \
                       font_step=2, font_path="msyh.ttc", \
                       stop_words={"python", "pycharm"}, mask=mk,\ 
                       background_color="white")
# font_path="msyh.ttc",表示使用的字体文件是微软雅黑

(3)词云使用的基本步骤

词云的使用一般为三步:1)配置对象参数;2)加载词云文本;3)输出词云文件。其中决定最终生成词云特征的主要是第一步。

简单的使用示例如下:

import wordcloud

txt = "life is short, you need python"
w = wordcloud.Wordcloud(background_color="white")  # 配置对象参数
w.generate(txt)  # 加载词云文本
w.to_file("python.png")  # 输出词云文件

如果是对中文使用词云,则需要jieba库进行分词。如下:

import jieba
import wordcloud

txt = "程序设计...运算处理"
w.wordcloud.Wordcloud(width=1000, font_path="msyh.ttc", height=700)  # 配置对象参数
w.generate("".jion(jieba.lcut(txt)))  # 加载词云文本
w.to_file("python.png")  # 输出词云文件

4.9.3 使用案例:政府工作报告词云

读取一份中文报告,然后生成词云。代码如下:

import jieba
import wordcloud

with open("新时代中国特色主义.txt", "r", encoding="utf-8") as f:
    t = f.read()
    ls = jieba.lcut(t)
    txt = "".join(ls)
    w = worcloud.Wordcloud(font_path="msyh.ttc", width=1000, height=700,\
                           background_color="white")
    w.generate(txt)
    w.to_file("gr.py")

http://www.kler.cn/a/398111.html

相关文章:

  • 深入List集合:ArrayList与LinkedList的底层逻辑与区别
  • 海康大华宇视视频平台EasyCVR私有化视频平台服务器选购主要参数有哪些?
  • 【PYTORCH】使用MTCNN和InceptionResnetV1简单进行人脸检测和相似度匹配
  • IPv6 NDP 记录
  • Ubuntu 24.04 安装 JDK 21
  • 如何编译 Cesium 源码
  • 分布式事务seata基于docker安装和项目集成seata
  • vscode-相关自用插件(倒计时,时间显示,编码对齐,css等编码颜色,简体中文,git提交相关,vue项目)
  • 去中心化应用(DApps)在Web3生态中的发展趋势
  • H3C ER8300G2-X未授权导致信息泄露漏洞(CVE-2024-32238)
  • Android Framework与JNI
  • MySQL的游标和While循环的详细对比
  • 多轮对话中让AI保持长期记忆的8种优化方式篇
  • 基于音频的波形图与频谱图绘制
  • 详细的oracle rac维护命令集合
  • xml去掉命名空间前缀n1
  • webgpu 编译并集成到Qt中
  • github算法
  • 241113.学习日志——[CSDIY] [ByteDance] 后端训练营 [02]
  • 实验06for与do~while循环---7-01 验证一个著名数学猜想
  • 循环矩阵和BCCB矩阵与向量乘积的快速计算——矩阵向量乘积与频域乘积之间的转换
  • 7、ARM_栈
  • 【日常记录-Git】git log
  • 传奇996_24——变量lua
  • Kafka常见问题及处理
  • 如何用python将pdf转换为json格式