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

news2024/11/22 17:49:50

【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】代码书写

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

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,这使得完整代码为:

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.coloradmin.cn/o/2237276.html

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

相关文章

网线类别线芯含义和传输距离以及水晶头制作标准

网线八芯每根的含义: 网线的八根线芯,也被称为RJ45网线中的8芯,网线采用8根线芯,这八根线芯各自承担着特定的功能。这8根线芯被分为4对,每对以特定的方式绞合在一起,8芯网线主要是为了减少电磁信号的相互干…

每天五分钟深度学习PyTorch:基于全连接神经网络完成手写字体识别

本文重点 上一节我们学习了搭建普通的全连接神经网络,我们现在用它来解决一个实际问题,我们用它跑一下手写字体识别的数据,然后看看它的效果如何。 网络模型 class ThreeNet(nn.Module) : def __init__ (self,in_dim,n_hidden_1,n_hidden_2,out_dim): super(ThreeNet, self…

【R78/G15 开发板测评】串口打印 DHT11 温湿度传感器、DS18B20 温度传感器数据,LabVIEW 上位机绘制演化曲线

【R78/G15 开发板测评】串口打印 DHT11 温湿度传感器、DS18B20 温度传感器数据,LabVIEW 上位机绘制演化曲线 主要介绍了 R78/G15 开发板基于 Arduino IDE 环境串口打印温湿度传感器 DHT11 和温度传感器 DS18B20 传感器的数据,并通过LabVIEW上位机绘制演…

基于MFC实现的赛车游戏

一、问题描述 游戏背景为一环形车道图,选择菜单选项“开始游戏”则可开始游戏。游戏的任务是使用键盘上的方向键操纵赛道上的蓝色赛车追赶红色赛车,红色赛车沿车道顺时针行驶,出发点和终点均位于车道左上方。任一赛车先达到终点则比赛结束。…

实验三 JDBC数据库操作编程(设计性)

实验三 JDBC数据库操作编程(设计性) 实验目的 掌握JDBC的数据库编程方法。掌握采用JDBC完成数据库链接、增删改查,以及操作封装的综合应用。实验要求 本实验要求每个同学单独完成;调试程序要记录调试过程中出现的问题及解决办法…

Java期末复习暨学校第二次上机课作业

Java期末复习暨学校第二次上机课作业:了解程序的控制结构,掌握顺序结构程序的设计方法,掌握分支程序设计方法。 第一题: 闰年有两种判断方式: (1):能被4整除但不能被100整除 &…

Windows配置NTP时间同步

Windows下实现NTP时间同步 1、Windows时间服务(W32Time)2、Windows 时间同步的工作原理3、配置和管理 Windows 时间同步3.1 命令行工具:w32tm3.2 控制面板中的设置 4. 高级设置(Windows Server 环境)5.调整时间同步的间隔5.1 通过组策略调整时…

Go八股(Ⅳ)***slice,string,defer***

***slice,string,defer*** 1.slice和arry的区别 arry: Go语言中arry即为数据的一种集合,需要在声明时指定容量和初值,且一旦声明就长度固定,访问时按照索引访问。通过内置函数len可以获取数组中的元素个…

STM32H503开发(2)----STM32CubeProgrammer烧录

STM32H503开发----2.STM32CubeProgrammer烧录 概述硬件准备视频教学样品申请源码下载参考程序自举模式BOOT0设置UART烧录USB烧录 概述 STM32CubeProgrammer (STM32CubeProg) 是一款用于编程STM32产品的全功能多操作系统软件工具。 它提供了一个易用高效的环境,通过…

ubuntu下aarch64-linux-gnu(交叉编译) gdb/gdbserver(二)

ubuntu下aarch64-linux-gnu(交叉编译) gdb/gdbserver(二) 本教程作为gdb/gdbserver编译安装教程的一个补充,教会大家如何使用gdb/gdbserver进行远程调试。 如上图所示,我们需要将编译后的gdbserver上传至目标设备,其上…

架构零散知识点

1 数据库 1.1 数据库范式 有一个学生表,主键是学号,含有学生号、学生名、班级、班级名,违反了数据库第几范式? --非主属性不依赖于主键,不满足第二范式 有一个订单表,包含以下字段:订单ID&…

【时间之外】IT人求职和创业应知【31】

目录 新闻一:2024年“秦创原沣东杯”陕西省科技工作者创新创业大赛颁奖仪式暨沣东新城机器人产业发展大会盛大启幕 新闻二:声网CEO赵斌:RTE将成为生成式AI时代AI Infra的关键部分 新闻三:“5G工业互联网”融合应用试点城市名单…

移动开发(七):.NET MAUI使用RESTAPI实现查询天气笔记

目录 一、接口准备 二、实体部分 三、页面部分 四、后台代码逻辑 五、总结 在移动开发过程中,第三方对接是非常常见的。今天给大家分享.NET MAUI如何使用REST API实现输入城市名称查询天气的示例,希望对大家学习.NET MAUI可以提供一些帮助! 一、接口准备 首先我们需要…

Javascript中如何实现函数缓存?函数缓存有哪些应用场景?

#一、是什么 函数缓存,就是将函数运算过的结果进行缓存 本质上就是用空间(缓存存储)换时间(计算过程) 常用于缓存数据计算结果和缓存对象 解释 const add (a,b) > ab; const calc memoize(add); // 函数缓存…

【网络安全 | 并发问题】Nginx重试机制与幂等性问题分析

未经许可,不得转载。 文章目录 业务背景Nginx的错误重试机制proxy_next_upstream指令配置重试500状态码非幂等请求的重试问题幂等性和非幂等性请求non_idempotent选项的使用解决方案业务背景 在现代互联网应用中,高可用性(HA)是确保系统稳定性的关键要求之一。为了应对服务…

利用游戏引擎的优势

大家好,我是小蜗牛。 在当今快速发展的游戏产业中,选择合适的游戏引擎对开发者来说至关重要。Cocos Creator作为一款功能强大且灵活的游戏引擎,为开发者提供了丰富的工具和资源,使他们能够高效地开发出优秀的游戏。本文将探讨如何…

财务源码 财务软件 SaaS 云财务

🔍 专业财务源码,助您快速开展财务管理!📈 🎯 我们提供一系列高质量、可定制、易于使用的财务源码,帮助您快速搭建强大的财务管理系统。无论是小型企业、中型企业,还是个人用户,我们…

数据流图,学习笔记

目录 一、数据流图的基本元素 外部实体(External Entity) 加工(Process) 数据存储(Data Store) 数据流(Data Flow) 二、数据流图的层次结构 顶层数据流图 中层数据流图 底层…

docker镜像文件导出导入

1. 导出容器(包含内部服务)为镜像文件(docker commit方法) 原理:docker commit命令允许你将一个容器的当前状态保存为一个新的镜像。这个新镜像将包含容器内所有的文件系统更改,包括安装的软件、配置文件等…

Android中桌面小部件framework层使用到的设计模式

在Android中,桌面小部件(App Widget)的Framework层采用了多种设计模式,以实现模块化、可维护性和高效的交互。 以下是Android桌面小部件Framework层中常用的设计模式及其具体应用: 1. 观察者模式(Observe…