用WordCloud绘制词云

news2024/12/28 8:22:55

文章目录

    • 初步认识
    • 基本参数
    • 掩模参数

初步认识

wordcloud是词云绘图模块,封装了WordCloud词云类,是词云的基本载体。在新建一个词云之后,通过generate装载用以生成词云的字符串,最后用to_file把词云图保存到文件中,例如

from wordcloud import WordCloud

w = WordCloud()
txt = "tinycool cool tiny Python WordCloud word cloud word not world"
w.generate(txt)
w.to_file("pywordcloud.png")

效果如下

在这里插入图片描述

基本参数

仅就这张图像来说,我们能感受到的特性大概有

  • 词云图的宽度、高度
  • 背景颜色,文字颜色
  • 字体
  • 单词长度,单词个数

这些特性可受到下列参数调控

参数说明备注
font_path字体文件路径otf或ttf文件
width词云宽度默认400
height词云高度默认200
min_font_size最小文字尺寸默认4
max_font_size最大文字尺寸默认为图像高度
relative_scaling词频对尺寸的影响默认"auto"
font_step字体步长默认1
max_words最大单词数默认200
min_word_length最短单词长度默认0
background_color背景色默认"black"
mode颜色格式默认RGB
colormap颜色映射
repeat是否重复单词默认False

下面对这些参数稍作更改,并

# txt即本文前面所有文字,因为太多就不写了
txt = r'''
'''
dct = dict(width=600, height=300,
    font_path = r"C:\Windows\Fonts\simhei.ttf",
    min_font_size = 10,
    max_font_size = 100,
    max_words = 20,
    min_word_length = 2,
    background_color = "white",
    colormap = "jet")

w = WordCloud(**dct)
w.generate(txt)
w.to_file("pywordcloud.png")

效果如下,由于最多只显示20个单词,而且尺寸最小是10,最大100,所以不太好看。

在这里插入图片描述

掩模参数

所谓掩模,就是词云组成的图案,主要由以下参数调控。

参数说明备注
mask掩模数组默认None
contour_width掩模宽度默认为0
contour_color掩模颜色默认"black"

掩模数组由0和1构成,词云只在掩模数组为1的位置显示。下面画一个椭圆作为掩模数组,椭圆圆周的方程为

( x − 300 ) 2 28 0 2 + ( y − 150 ) 2 14 0 2 = 1 \frac{(x-300)^2}{280^2}+\frac{(y-150)^2}{140^2}=1 2802(x300)2+1402(y150)2=1

x = 300 ± 28 0 2 − ( 2 y − 300 ) 2 x = 300\pm\sqrt{280^2-(2y-300)^2} x=300±2802(2y300)2

import numpy as np
y, x = np.indices([300,600])
delta = np.sqrt(280**2-(2*y-300)**2)
mask = (x<300+delta) & (x>300-delta)
mask = (1-mask)*254+1

w = WordCloud( mask = mask, contour_width=100,
    font_path = r"C:\Windows\Fonts\simhei.ttf")
w.generate(txt)
w.to_file("pywordcloud.png")

效果如下

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1116871.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TechSmith Camtasia Studio 23.3.2.49471 Crack

全新的Camtasia 2023.2 Camtasia Studio是专业的屏幕录像和视频编辑的软件套装。软件提供了强大的屏幕录像&#xff08;Camtasia Recorder&#xff09;、视频的剪辑和编辑&#xff08;Camtasia Studio&#xff09;、视频菜单制作&#xff08;Camtasia MenuMaker&#xff09;、视…

基于沙猫群优化的BP神经网络(分类应用) - 附代码

基于沙猫群优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码 文章目录 基于沙猫群优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码1.鸢尾花iris数据介绍2.数据集整理3.沙猫群优化BP神经网络3.1 BP神经网络参数设置3.2 沙猫群算法应用 4.测试结果&#x…

Linux常用命令——cmp命令

在线Linux命令查询工具 cmp 比较两个文件是否有差异 补充说明 cmp命令用来比较两个文件是否有差异。当相互比较的两个文件完全一样时&#xff0c;则该指令不会显示任何信息。若发现有差异&#xff0c;预设会标示出第一个不通之处的字符和列数编号。若不指定任何文件名称或是…

TIA博途中通过SCATTER指令实现将字节BYTE拆分成单个位的具体方法示例

TIA博途中通过SCATTER指令实现将字节BYTE拆分成单个位的具体方法示例 例如: 我们想判断某个字节中各个位的状态是1还是0 ,如何实现呢? 这里介绍通过SCATTER指令拆分字节的方法,仅供大家参考。 首先,我们先了解以下SCATTER指令的基本功能和使用方法: 如下图所示,在基本指…

无纸化办公小程序数据交互、wxs的使用

前言 很多同志们再写小程序的过程中&#xff0c;不知道该怎么发起HTTP请求到后端&#xff0c;在Web环境中发起HTTPS请求是很常见的&#xff0c;但是微信小程序是腾讯内部的产品&#xff0c;不能直接打开一个外部的链接。例如&#xff0c;在微信小程序中不能直接打开www.taobao…

冒泡排序、插入排序、选择排序和快速排序的原理

下面是对冒泡排序、插入排序、选择排序和快速排序的原理的简要解释&#xff1a; 冒泡排序&#xff08;Bubble Sort&#xff09;&#xff1a;冒泡排序是一种简单的排序算法。它通过多次迭代比较相邻的元素&#xff0c;并交换它们的位置&#xff0c;使得较大&#xff08;或较小&…

1600*D. Maximum Sum on Even Positions(贪心)

Problem - 1373D - Codeforces 解析&#xff1a; 显然可以发现&#xff0c;翻转数量为奇数是不影响结果&#xff0c;所以需要反转偶数个连续数字。 考虑贪心&#xff0c;我们每次反转相邻的两个数字&#xff0c;并且累计贡献&#xff0c;如果贡献为0则清空继续累计&#xff0c;…

Element Plus el-select选择框失去焦点blur

正常情况下&#xff0c;可以使用 el-select 自带的方法 blur 事件来使select失去焦点 示例&#xff1a; <el-select v-model"value" ref"selectRef"><el-optionv-for"item in options":key"item.value":label"item.la…

SQL sever中的存储过程

在Oracle的专篇中我也有仔细总结了存储过程的相关内容&#xff0c; 文章链接&#xff1a;http://t.csdnimg.cn/Z8AnH 尽管Oracle和SQL sever之间是存在一些区别&#xff0c;但许多基本的概念和原则在Oracle和SQL Server之间是通用的。它们之间有一些常见的区别&#xff0c;如下…

毅速科普课堂丨3D打印随形水路模具制造的一般流程

随形水路模具因其能大幅度提升冷却效率、缩短冷却时间、提升产品良率、提高生产效率的特点受到广泛应用&#xff0c;通常一件3D打印随形水路模具的制造需要经过多个步骤&#xff0c;包括设计、打印、后处理等多个环节&#xff0c;以确保模具的质量和性能符合预期需求。 首先&am…

分型+预后模型多层面验证,干湿结合直达7+

今天给同学们分享一篇铜死亡分型预后模型实验的生信文章“Construction and validation of a cuproptosis-related prognostic model for glioblastoma”&#xff0c;这篇文章于2023年2月6日发表在Front Immunol期刊上&#xff0c;影响因子为7.3。 铜死亡是一种新报道的程序性细…

【大模型AIGC系列课程 3-8】AI 代理的应用

1. 如果有一群角色(AI Agent)会发生什么? Generative Agents: Interactive Simulacra of Human Behavior Paper: https://arxiv.org/abs/2304.03442 Demo: https://reverie.herokuapp.com/arXiv_Demo/ 我们的生成式代理架构。代理感知(Perceive)其环境(Env),所有感知都…

网络协议--RARP:逆地址解析协议

5.1 引言 具有本地磁盘的系统引导时&#xff0c;一般是从磁盘上的配置文件中读取IP地址。但是无盘机&#xff0c;如X终端或无盘工作站&#xff0c;则需要采用其他方法来获得IP地址。 网络上的每个系统都具有唯一的硬件地址&#xff0c;它是由网络接口生产厂家配置的。无盘系统…

IDEA | 快速解决java.net.BindException Address already in use Cannot bind

最近在调试TCP/IP网络编程时&#xff0c;经常会遇到如下异常 这是由于程序异常关闭导致的端口 被 异常关闭的僵尸程序所占用 解决方案&#xff1a; 在命令行中输入 netstat -ano|findstr 端口号 ————查询到占用端口号的进程 根据端口号强制杀死占用该端口号的僵尸程序 t…

SpringCloud之Nacos配置中心解读

目录 基本介绍 概述 动态配置服务 多配置格式编辑器 微服务拉取配置流程 Data ID RefreshScope 配置共享的优先级 实战使用 简单的共享配置 开发环境的共享配置 环境隔离-命名空间Namespace 业务隔离-Group分组 基本介绍 概述 Nacos除了可以做注册中心&#x…

怎样找外企/远程的工作

“如果你既不想卷&#xff0c;又不想参与职场的勾心斗角&#xff0c;也不算行业大牛&#xff0c;还不愿意冒太高风险&#xff0c;那还有一种渠道&#xff0c;就是找海外公司的远程工作&#xff0c;比如我有几个程序员朋友&#xff0c;都是拿着硅谷动辄 20w 刀的薪水&#xff0c…

【标准化封装 SOT系列 】 E SOT-89

〇、SOT-89 这个封装也比较常见&#xff0c;但并不易错。 一、E部分 SOT-89 参数 pin-pin 间距1.5mm body size 4.52.5 二、符合当前标准的典型举例 名称pin 数厂家 body DE矩形 (mm)SOT-894Mini-Circuits – PGA-102 — 4.39/4.62.29/2.59 上图 MiniCircuits 也称DF78…

数据结构和算法——用C语言实现所有树形结构及相关算法

文章目录 前言树和森林基础概念二叉树二叉树的遍历二叉树的构造树和森林与二叉树之间的转化树和森林的遍历 满二叉树完全二叉树线索二叉树线索二叉树的构造寻找前驱和后继线索二叉树的遍历 最优二叉树&#xff08;哈夫曼树&#xff09;哈夫曼树的构造哈夫曼编码 二叉排序树&…

16.2 ARP 主机探测技术

ARP &#xff08;Address Resolution Protocol&#xff0c;地址解析协议&#xff09;&#xff0c;是一种用于将 IP 地址转换为物理地址&#xff08;MAC地址&#xff09;的协议。它在 TCP/IP 协议栈中处于链路层&#xff0c;为了在局域网中能够正确传输数据包而设计&#xff0c;…

C嘎嘎之类和对象上

> 作者简介&#xff1a;დ旧言~&#xff0c;目前大二&#xff0c;现在学习Java&#xff0c;c&#xff0c;c&#xff0c;Python等 > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;掌握类的引用和定义&#xff0c;熟悉类成员函数的…