python画图|text()和dict()初探

embedded/2024/11/12 15:48:38/

【1】引言

在进行hist()函数的学习进程中,了解到了subplot_mosaic()函数,在学习subplot_mosaic()函数的时候,又发现了text()和dict()函数。

经探究,text()和dict()函数有很多一起使用的场景,为此,我们就一起进行简单探究。

【2】官网教程

点击下方链接,直达官网:

https://matplotlib.org/stable/api/text_api.html#module-matplotlib.text

我们会看到关于text()函数有很多参数:

class matplotlib.text.Text(x=0, y=0, text='', *, color=None, verticalalignment='baseline', horizontalalignment='left', multialignment=None, fontproperties=None, rotation=None, linespacing=None, rotation_mode=None, usetex=None, wrap=False, transform_rotates_text=False, parse_math=None, antialiased=None, **kwargs)

实际上常用部分主要是标红的几个,text就是我们要输出的内容,x和y代表放置text的位置,**kwargs代表一些我们自定义的参数。其余参数均可以遵照默认即可。

在此理解的基础上,我们很快就可以进入一个示例进行学习,点击下方链接可以直达:

Figure size in different units — Matplotlib 3.9.2 documentation

【3】代码书写

为更好理解官网示例,首先我们写出下述代码:

python">import matplotlib.pyplot as plt  #引入画图模块
import numpy as np #引入计算模块kw = dict(ha="center", va="center", fontsize=2, color="darkgrey")
print(kw)

直接运行后的输出为:

图1

这里的dict()函数运行结果的确就是一个赋值的功能。

然后我们进一步,参照官网补齐下述代码。

plt.subplots(figsize=(6, 2)) #定义要画图
plt.text(0.5, 0.5, '6 inches x 2 inches', **kw) #输出text文本
plt.show() #输出图形

实际运行后发现似乎没有任何文本输出,经检查,发现原来是dict()函数里面的fontsize赋值较小,导致输出的文本较小,因此把dict()函数里面的fontsize赋值改为28,这使得完整代码为:

python">import matplotlib.pyplot as plt  #引入画图模块
import numpy as np #引入计算模块kw = dict(ha="center", va="center", fontsize=28, color="darkgrey") #dict()函数赋值
print(kw)plt.subplots(figsize=(6, 2)) #定义要画图
plt.text(0.5, 0.5, '6 inches x 2 inches', **kw) #输出text文本
plt.show() #输出图形

输出图像为:

图2

 由图2可见,dict()函数给fontsize的赋值在text()函数中被认可,有效控制了输出字符的大小。

【4】代码修改

在【3】中我们发现text()函数输出字符的大小可以由dict()函数提前预设,其实进一步也观察到输出字符的颜色也由dict()的color预设了。

在text()函数的官方说明中,我们曾看到color选项,这我们尝试在text()函数中再设置一次color:

plt.text(0.5, 0.5, '6 inches x 2 inches',color='g', **kw) #输出text文本

运行代码后报错:

图3

由图3可见,系统认为给text()函数输入了太多的颜色说明,因此无法绘制图像。

为此,做两个尝试,第一个是把color='g'放到**kw后,第二个是删除dict()函数中的color赋值。

首先尝试第一个:

kw = dict(ha="center", va="center", fontsize=28, color="darkgrey") #dict()函数赋值
print(kw)plt.subplots(figsize=(6, 2)) #定义要画图
plt.text(0.5, 0.5, '6 inches x 2 inches', **kw,color='g') #输出text文本

输出结果为图3。

然后尝试第二个:

kw = dict(ha="center", va="center", fontsize=28) #dict()函数赋值
print(kw)plt.subplots(figsize=(6, 2)) #定义要画图
plt.text(0.5, 0.5, '6 inches x 2 inches',color='g', **kw) #输出text文本

此时代码正常运行,输出图像为:

图4

下一步尝试修改text字符的位置,把va改为left:

kw = dict(ha="center", va="left", fontsize=28) #dict()函数赋值

这时候会发现代码无法运行,并且给出了说明:

图5

然后就把va改为top:

kw = dict(ha="center", va="top", fontsize=28) #dict()函数赋值

此时的运行输出图形为:

图6

图6表明,输出的text字符到了中偏下的位置,也就是va控制了一条水平线,text字符由水平线正中央移动到了正下方。

【6】总结

掌握了dict()和text()函数的基本用法。


http://www.ppmy.cn/embedded/136658.html

相关文章

Qt——常用控件

前言:本篇文章,将分享Qt中常用的,具有代表性的一些控件。 一.按钮类控件 在前边的文章中我们也多次分享过PushButton按钮,但Qt中并非只提供这一种按钮。 在Qt中,QPushButton并非直接继承自QWidget,QAbstr…

高性能分布式缓存Redis-分布式锁与布隆过滤器

一、分布式锁 我们先来看一下本地锁 在并发编程中&#xff0c;我们通过锁&#xff0c;来避免由于竞争而造成的数据不一致问题。通常&#xff0c;我们以 synchronized 、Lock 来使用它&#xff08;单机情况&#xff09; 来看这段代码 Autowired RedisTemplate<String,Str…

《TCP/IP网络编程》学习笔记 | Chapter 9:套接字的多种可选项

《TCP/IP网络编程》学习笔记 | Chapter 9&#xff1a;套接字的多种可选项 《TCP/IP网络编程》学习笔记 | Chapter 9&#xff1a;套接字的多种可选项套接字可选项和 I/O 缓冲大小套接字多种可选项getsockopt & setsockoptSO_SNDBUF & SO_RCVBUF SO_REUSEADDR发生地址绑定…

小新学习k8s第四天之发布管理

一、金丝雀发布&#xff08;灰度发布&#xff09; Deployment控制器支持自定义控制更新过程中的滚动节奏&#xff0c;如“暂停(pause)”或“继续(resume)”更新操作。 ①比如等待第一批新的Pod资源创建完成后立即暂停更新过程&#xff0c;此时&#xff0c;仅存在一部分新版本的…

vue实现websocket实时短消息通知

1、原理 websocket就是通过服务器向客户端推送消息&#xff0c;客户端也可以主动向服务器发送消息&#xff0c;是真正的双向平等对话&#xff0c;是一种长连接&#xff0c;只需要通过一次请求进行初始化。 2、事件 onopen: 客户端和服务器建立连接后触发&#xff0c;被称为客…

【论文速读】| PathSeeker:使用基于强化学习的越狱攻击方法探索大语言模型的安全漏洞

基本信息 原文标题: PathSeeker: Exploring LLM Security Vulnerabilities with a Reinforcement Learning-Based Jailbreak Approach 原文作者: Zhihao Lin, Wei Ma, Mingyi Zhou, Yanjie Zhao, Haoyu Wang, Yang Liu, Jun Wang, Li Li 作者单位: Beihang University, Nany…

【LeetCode】【算法】155. 最小栈

LeetCode 155. 最小栈 题目描述 设计一个支持 push &#xff0c;pop &#xff0c;top 操作&#xff0c;并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。 void push(int val) 将元素val推入堆栈。 void pop() 删除堆栈顶部的元素。 int …

钉钉调试微应用整理2

第一步 新建应用 钉钉开放平台](https://open-dev.dingtalk.com/) 去新增应用 第二步 配置应用信息 把本地代码运行起来&#xff0c;并设置本地地址 第三步 在本地代码添加调试命令 这里有2中添加方式 哪一种都可以 方式一&#xff1a; index.html页面中 <!DOCTYPE h…