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

【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.xdnf.cn/news/10411.html

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

相关文章

BUG: scheduling while atomic

▌▌上篇文章的内容还没有结束 中断处理函数中如果执行了调度,会发生什么 ▌这次,我修改了程序,在中断处理函数中调用了msleep 程序执行后,会有这样的日志 ▌关键就是这句 BUG: scheduling while atomic 我们追代码,可…

算法 -选择排序

博客主页:【夜泉_ly】 本文专栏:【算法】 欢迎点赞👍收藏⭐关注❤️ 文章目录 💡选择排序1. 🔄 选择排序🖼️示意图📖简介💡实现思路1💻代码实现1💡实现思路2…

ubuntu 22.04 镜像源更换

双11抢了个云服务器,想要整点东西玩玩,没想到刚上来就不太顺利 使用sudo apt update更新软件,然后发生了如下报错 W: Failed to fetch http://mirrors.jdcloudcs.com/ubuntu/dists/jammy/InRelease 理所当然想到可能是镜像源连接不是很好&…

2016年7月29日至2017年2月21日NASA大气层层析(ATom)任务甲醛(HCHO)、羟基(OH)和OH生产率的剖面积分柱密度

目录 简介 摘要 引用 网址推荐 知识星球 机器学习 ATom: Column-Integrated Densities of Hydroxyl and Formaldehyde in Remote Troposphere ATom: 远对流层中羟基和甲醛的柱积分密度 简介 该数据集提供了甲醛(HCHO)、羟基&#xff…

一夜吸粉10万!AI妖精变身视频如何做的?5分钟你也能赶上末班车!

本文背景 最近有小伙伴跟我发了一个AI视频,问我是怎么做的? 很多人在各大自媒体平台,像某音、蝴蝶号都刷到过下面这种妖精变身的短视频。 我也常刷到,从这类视频能看到点赞、收藏、评论的数据都特别高,动不动就几千、几…

【JAVA项目】基于jspm的【医院病历管理系统】

技术简介:采用jsp技术、MySQL等技术实现。 系统简介:通过标签分类管理等方式,实现管理员;个人中心、医院公告管理、用户管理、科室信息管理、医生管理、出诊信息管理、预约时间段管理、预约挂号管理、门诊病历管理、就诊评价管理、…

Oasis:首个可玩的AI生成互动游戏

游戏玩法介绍 Oasis 是由AI公司Decart开发的一款实时生成、可交互的Minecraft风格游戏。这款游戏利用生成式AI技术,创造出独特的“开放世界”体验。Oasis基于大量Minecraft游戏视频进行训练,通过键盘和鼠标输入实时生成游戏画面,模拟物理效果、规则及视觉效果。用户在游戏中…

Python网络爬虫入门篇!

预备知识 学习者需要预先掌握Python的数字类型、字符串类型、分支、循环、函数、列表类型、字典类型、文件和第三方库使用等概念和编程方法。 2. Python爬虫基本流程 a. 发送请求 使用http库向目标站点发起请求,即发送一个Request,Request包含&#xf…

【C++】踏上C++学习之旅(五):auto、范围for以及nullptr的精彩时刻(C++11)

文章目录 前言1. auto关键字(C11)1.1 为什么要有auto关键字1.2 auto关键字的使用方式1.3 auto的使用细则1.4 auto不能推导的场景 2. 基于范围的for循环(C11)2.1 范围for的语法2.2 范围for的使用条件 3. 指针空值nullptr&#xff0…

科研绘图系列:R语言组合多个不同图形(violin density barplot heatmap)

文章目录 介绍加载R包数据下载函数图1: Boxplots导入数据数据预处理画图图2: Violin导入数据数据预处理画图图3: Density plots per habitat数据预处理画图图4: Density plots per depth数据预处理画图图5: bar plot准备颜色导入数据数据预处理数据预处理画图图6: Mantel Heat…

系统聚类的分类数确定——聚合系数法

breast_cancer数据集分析——乳腺癌诊断 #读取乳腺癌数据 import pandas as pd import numpy as np from sklearn.datasets import load_breast_cancer data load_breast_cancer() X data.data y data.target.. _breast_cancer_dataset:Breast cancer wisconsin (diagnosti…

jsp+sevlet+mysql实现用户登陆和增删改查功能

jspsevletmysql实现用户登陆和增删改查功能 一、系统介绍二、功能展示1.用户登陆2.用户列表3.查询用户信息4.添加用户信息5.修改用户信息6.删除用户信息 四、其它1.其他系统实现 一、系统介绍 系统主要功能: 用户登陆、添加用户、查询用户、修改用户、删除用户 二…

一文了解Java序列化

Java 序列化(Serialization)是将对象的状态转换为字节流,以便将对象的状态保存到文件中或通过网络传输的过程。反序列化(Deserialization)则是将字节流恢复为原始对象。Java 序列化主要通过 Serializable 接口实现。 为…

斗破QT编程入门系列之前言:认识Qt:获取与安装(四星斗师)

本系列是在学习完C之后,然后通过Qt构建界面来,赋予枯燥的代码新的样貌,这样我们才能开发出更人性化的程序,同时会进一步提高初学者对编程的兴趣,大家加油,斗破Qt来了。 斗破Qt目录: 斗破Qt编程…

Spring Boot - 扩展点 EnvironmentPostProcessor源码分析及真实案例

文章目录 概述EnvironmentPostProcessor 作用EnvironmentPostProcessor 实现和注册创建类并实现接口注册到 Spring Boot常见应用场景 源码分析1. EnvironmentPostProcessor 接口定义2. 扩展点加载流程3. 加载 EnvironmentPostProcessor 实现类4. EnvironmentPostProcessor 执行…

封装的数字滚动组件的实现代码

效果: 学习啦: Vue 是一个渐进式框架,鼓励通过组件化来构建应用,其组件化优势: 代码复用:不同的视图和功能被封装成独立的组件,便于复用。易于维护:每个组件职责单一、耦合度低&…

Unity跨平台基本原理

目录 前言 ​编辑 Mono Unity和Mono的关系 Unity跨平台必备概念 Mono利用 Mono主要构成部分 基于Mono跨平台的优缺点 IL2CPP Mono和IL2CPP的区别 Mono IL2CPP Mono和IL2CPP的使用建议 安装IL2CPP IL2CPP打包存在的问题 类型裁剪 泛型问题 前言 Unity跨平台的基…

计算机网络(3)

UDP是面向无连接的通信协议,UDP数据包括目的端口号和源端口号信息,由于 不需要连接,所以可以实现广播发送; 传输控制层 UDP协议(用户数据报协议) UDP通信时不需要接收方确认,属于不可靠的传输&a…

2024年11月8日上海帆软用户大会

2024年11月8日上海帆软用户大会 2024年11月8日,上海成功举办了帆软用户大会,主题为“数字聚力,绽放新机”。大会汇聚了众多行业专家和企业代表,共同探讨数字化转型和商业智能领域的最新趋势和实践。 大会亮点: 专家…

PySimpleGUI和Pymysql

PySimpleGUI 库 PySimpleGUI 是一个用于简化 GUI 编程的 Python 包,它封装了多种底层 GUI 框架(如 tkinter、Qt、WxPython 等),提供了简单易用的 API。PySimpleGUI 包含了大量的控件(也称为小部件或组件)&…