Matplotlib图形注释_Python数据分析与可视化
Matplotlib图形注释
- 添加注释
- 文字、坐标变换
有的时候单单使用图形无法完整清晰的表达我们的信息,我们还需要进行文字进行注释,所以matplotlib提供了文字、箭头等注释可以突出图形中重点信息。
添加注释
为了使我们的可视化图形让人更加容易理解,在一些情况下辅之以少量的文字提示和标签可以更恰当地表达信息。matplotlib可以通过plt.text/ax.text
命令手动添加注释,它们可以在具体的x/y坐标上放文字:
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import matplotlib as mpl
plt.rcParams['font.sans-serif']=['simhei']
plt.rcParams['font.family']='sans-serif'
plt.rcParams['axes.unicode_minus']=False#画图可中文
style = dict(size=10, color='gray')
#绘制图形
plt.plot([5,21,12,53,7,6,43,1,69])
#设置注释
plt.text(0, 5, "第一个点",ha='center', **style)
plt.text(1, 21, "第二个点",ha='center', **style)
plt.text(2, 12, "第三个点",ha='center', **style)
plt.text(3, 53, "第四个点",ha='center', **style)
plt.text(4, 7, "第五个点",ha='center', **style)
plt.text(5, 6, "第六个点",ha='center', **style)
plt.text(6, 43, "第七个点",ha='center', **style)
plt.text(7, 1, "第八个点",ha='center', **style)
plt.text(8, 69, "第九个点",ha='center', **style)
plt.show()
plt.text方法需要一个x轴坐标、一个y轴坐标、一个字符串和一些可选参数,比如文字的颜色、字号、风格、对齐方式等其它文字属性。这里用了ha="center"
,ha
是设置水平对齐方式。其他常用参数如下:
-
fontsize
设置字体大小,默认12,可选参数xx-small
,x-small
,small
,medium
,large
,x-large
,xx-large
-
fontweight
设置字体粗细,可选参数light
,normal
,medium
,semibold
,bold
,heavy
,black
。 -
fontstyle
设置字体类型,可选参数normal
,italic
,oblique
。 -
verticalalignment
设置垂直对齐方式,可选参数:center
,top
,bottom
,baseline
。 -
horizontalalignment
设置水平对齐方式,可选参数:left
,right
,center
。 -
rotation
(旋转角度)可选参数为:vertical
,horizontal
也可以为数字,数字代表旋转的角度。 -
alpha
透明度,参数值0至1
之间。 -
backgroundcolor
标题背景颜色。
还可以通过plt.annotate()函数来设置注释,该函数既可以创建文字,也可以创建箭头,而且它创建的箭头能够进行非常灵活的配置。
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(0, 6)
y = x * x
plt.plot(x, y, marker='o')
for xy in zip(x, y):plt.annotate("(%s,%s)" % xy, xy=xy, xytext=(-20, 10), textcoords='offset points')
plt.annotate('max', xy=(5, 25), xytext=(4.3, 15),arrowprops=dict(facecolor='black', shrink=0.05))
plt.show()
这里设置了两个注释,一个显示了点的坐标,另一个显示了最高点描述max。annotate的第一个参数为注释文本字符串,第二个为被注释的坐标点,第三个为注释文字的坐标位置。
文字、坐标变换
上面的例子将文字注释放在目标数据的位置上,有的时候可能需要将文字放在与数据无关的位置上,比如坐标轴或图形,matplotlib中通过调整坐标变换transorm
参数来实现:
fig, ax = plt.subplots()
ax.axis([0, 10, 0, 10])
ax.text(1, 5, ". Data: (1, 5)", transform=ax.transData)
ax.text(0.5, 0.1, ". Axes: (0.5, 0.1)", transform=ax.transAxes)
ax.text(0.2, 0.2, ". Figure: (0.2, 0.2)", transform=fig.transFigure)
plt.show()
默认情况下,图中的字符是在其对应的坐标位置。通过设置transform
参数修改位置,transData
坐标用x,y
的标签作为数据坐标;transAxes
坐标以白色矩阵左下角为原点,按坐标轴尺寸的比例呈现坐标;transFigure
坐标类似以灰色矩阵左下角为原点,按坐标轴尺寸的比例呈现坐标。
相关文章:

Matplotlib图形注释_Python数据分析与可视化
Matplotlib图形注释 添加注释文字、坐标变换 有的时候单单使用图形无法完整清晰的表达我们的信息,我们还需要进行文字进行注释,所以matplotlib提供了文字、箭头等注释可以突出图形中重点信息。 添加注释 为了使我们的可视化图形让人更加容易理解&#…...

如何把A3 pdf 文章打印成A4
1. 用Adobe Acrobat 打开pdf 2 打印 选择海报 进行调整即可如下图,见下面红色的部分。...

【Vue】vue指令
目录 V-html v-show和v-if v-show 显示 隐藏 v-if 显示 隐藏 总结 显示隐藏的应用场景 未登录的情况 登录的情况 v- else 和 v-else-if v-if 和v-else v-if 和 v-else-if 总结: v-on 语法一: 语法二: 调用传参 v-bind…...

记录华为云服务器(Linux 可视化 宝塔面板)-- 安全组篇
文章目录 前言安全组说明安全组的特性安全组的应用场景 进入安全组添加基本规则添加自定义规则如有启发,可点赞收藏哟~ 前言 和windows防火墙类似,安全组是一种虚拟防火墙,具备状态检测和数据包过滤功能,可以对进出云服务器的流量…...

基于Python 中创建 Sentinel-2 RGB 合成图像
一、前言 下面的python代码将带您了解如何从原始 Sentinel-2 图像创建 RGB 合成图像的过程。 免费注册后,可以从 Open Access Hub 下载原始图像。 请注意,激活您的帐户可能需要 24 小时! 二、准备工作 (1)导入必要的库…...

保姆级连接FusionInsight MRS kerberos Hive
数新网络,让每个人享受数据的价值https://xie.infoq.cn/link?targethttps%3A%2F%2Fwww.datacyber.com%2F 概述 本文将介绍在华为云 FusionInsight MRS(Managed Relational Service)的Kerberos环境中,如何使用Java和DBeaver实现远…...

electerm 跨平台的终端 /ssh/sftp 客户端
文章目录 electerm功能特性主题配色 electerm 每个程序员基本都离开SSH链接工具,目前市场上好用的基本都是收费的 给大家推荐一款国人开发的开源链接工具https://github.com/electerm/electerm 到目前为止star已经9.5K了,非常受欢迎 功能特性 支持ssh,telnet,serialport,本地和…...
Anthropic LLM论文阅读笔记
研究时间:与Instrcut GPT同期的工作,虽然其比ChatGPT发布更晚,但是其实完成的时间比ChatGPT更早。与ChatGPT的应用区别:该模型比ChatGPT回答我不知道的概率更高。将强化学习用于大语言模型(RLHF)࿱…...

docker启动容器失败,然后查看日志,docker logs查看容器出现报错:
docker 启动容器失败,然后docker logs 查看容器出现报错: error from daemon in stream: Error grabbing logs: invalid character l after object key:value pair在网上看到的 解决方案: 找到你日志文件目录: docker inspect …...

【开源】基于Vue.js的网上药店系统
项目编号: S 062 ,文末获取源码。 \color{red}{项目编号:S062,文末获取源码。} 项目编号:S062,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 药品类型模块2.3 药…...

App 设计工具
目录 说明 打开 App 设计工具 示例 创建 App 创建自定义 UI 组件 打开现有 App 文件 打包和共享 App 本文主要讲述以交互方式创建 App。 说明 App 设计工具是一个交互式开发环境,用于设计 App 布局并对其行为进行编程。 可以使用 App 设计工具:…...

毅速:3D打印随形透气钢为解决模具困气提供了新助力
在模具行业中,困气是一个较常见的问题。解决困气问题的方法有很多,透气钢就是其一。传统的制造的透气钢往往存在一些不足,如加工难度大、无法满足复杂形状的需求等。随着3D打印技术的发展,一种新型的随形透气钢技术逐渐崭露头角&a…...

某软件商店app抓包分析与sign加密算法实现
文章目录 1. 写在前面2. 抓包配置3. 抓包分析4. 接口测试5. sign加密算法6. 数据效果展示 【作者主页】:吴秋霖 【作者介绍】:Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作! 【作者推荐】…...

万界星空科技QMS质量管理系统功能
QMS质量管理系统结合质量决策、综合质量管理、过程质量控制三个层次要素,帮助企业实现产品全寿命周期质量数据的及时、灵活、准确和全面采集。 通过质量管理软件能够实现质量数据科学处理和应用,包括数据的系统化组织、结构化存贮、便捷式查询、定制化统…...

杨传辉:从一体化架构,到一体化产品,为关键业务负载打造一体化数据库
在刚刚结束的年度发布会上,OceanBase正式推出一体化数据库的首个长期支持版本 4.2.1 LTS,这是面向 OLTP 核心场景的全功能里程碑版本,相比上一个 3.2.4 LTS 版本,新版本能力全面提升,适应场景更加丰富,有更…...

oracle “ORA-25153:临时表空间为空”
从生产上面备份出来了一个数据库,应用在使用时显示ORA-25153临时表空间为空的报错,原因一般是数据库迁移时,没有迁移完整造成的 解决方法 1.创建新的临时表空间temp2 create temporary tablespace temp2 tempfile DATA size 100M autoexten…...

游览器缓存讲解
浏览器缓存是指浏览器在本地存储已经请求过的资源的一种机制,以便在将来的请求中能够更快地获取这些资源,减少对服务器的请求,提高页面加载速度。浏览器缓存主要涉及到两个方面:缓存控制和缓存位置。 缓存控制 Expires 头&#…...
中国天然径流量格点数据集CNRD v1.0(1961-2018)
简介 中国天然径流量是指在中国境内自然形成的各种河流、湖泊、水库等水体中自然产生的流量。根据中国水利部的数据,中国天然径流量在年际变化和地区分布上都非常不均衡。北方地区径流量较小,南方地区则较大;而东部沿海地区的水资源较为丰富,而西北干旱地区的水资源则非常…...

JoyT的科研之旅第一周——科研工具学习及论文阅读收获
CiteSpace概述 CiteSpace 是一个用于可视化和分析科学文献的工具,它专门针对研究者进行文献回顾和趋势分析。CiteSpace 的核心功能是创建文献引用网络,这些网络揭示了研究领域内各个文献之间的相互关系。使用 CiteSpace 可以为论文研究做出贡献的几种方…...
expo 初始化指定SDK版本项目
expo init my-project --template expo-template-blanksdk-44...

Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...

全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...

2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...
LangFlow技术架构分析
🔧 LangFlow 的可视化技术栈 前端节点编辑器 底层框架:基于 (一个现代化的 React 节点绘图库) 功能: 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...