Matplotlib 画布及Figure文字注释添加详解

news2024/12/25 1:08:09

text()

若要给画布对象或者Figure对象添加注释,常用的为text()方法,分别可以用Figure对象.text()或者画布对象.text()添加文字注释

x, y, s, fontdict=None

上述为text()函数的参数x,y为注释所在的坐标,s为要添加的注释,fontdict为字体样式字典,键包括常见的样式,如‘color’,‘fontsize’

axes.text()

若要给画布对象添加注释,使用的x,y为画布中的绝对位置,也就是按刻度计算

import numpy as np
import matplotlib.pyplot as plt

if __name__ == '__main__':
    x = np.linspace(0, 2*np.pi, 100)
    y = np.sin(x)
    y1 = np.cos(x)

    figure1 = plt.figure(figsize=(6, 4))
    axes1 = plt.subplot(1, 2, 1)
    axes1.plot(x, y)
    axes1.text(x=1,y=0,s='this is a sin curve',fontdict={'fontsize':15,'color':'red'})
    axes2 = plt.subplot(1, 2, 2)
    figure1.savefig('plot1.png')
    plt.show()

Figure.text()

由于Figure.text()作用在整个Figure对象上,所以x,y对应的为整个Figure的相对位置,也就是x和y的范围为[0,1]

import numpy as np
import matplotlib.pyplot as plt

if __name__ == '__main__':
    x = np.linspace(0, 2*np.pi, 100)
    y = np.sin(x)
    y1 = np.cos(x)

    figure1 = plt.figure(figsize=(6, 4))
    axes1 = plt.subplot(1, 2, 1)
    axes1.plot(x, y)
    axes1.text(x=1,y=0,s='this is a sin curve',fontdict={'fontsize':15,'color':'red'})
    axes2 = plt.subplot(1, 2, 2)
    figure1.text(x=0.5,y=0.5,s='this is my figure',fontdict={'fontsize':20,'color':'blue'})
    figure1.savefig('plot1.png')
    plt.show()

suptitle()

suptitle()也就是supertitle,与之前通过plt.title()或者axex.title()不同,这里的title是Figure对象的title

def suptitle(self, t, **kwargs):
    # docstring from _suplabels...
    info = {'name': '_suptitle', 'x0': 0.5, 'y0': 0.98,
            'ha': 'center', 'va': 'top', 'rotation': 0,
            'size': 'figure.titlesize', 'weight': 'figure.titleweight'}
    return self._suplabels(t, info, **kwargs)

这里常用的就是t(title内容),x和y分别为Figure对象中的相对位置,范围[0,1],依然可以配置fontdict,但是需要注意,fontsize参数不可以在fontdict中配置,要单独设置,否则会报错

import numpy as np
import matplotlib.pyplot as plt

if __name__ == '__main__':
    x = np.linspace(0, 2*np.pi, 100)
    y = np.sin(x)
    y1 = np.cos(x)

    figure1 = plt.figure(figsize=(6, 4))
    axes1 = plt.subplot(1, 2, 1)
    axes1.plot(x, y)
    axes1.text(x=1,y=0,s='this is a sin curve',fontdict={'fontsize':15,'color':'red'})
    axes2 = plt.subplot(1, 2, 2)
    figure1.text(x=0.5,y=0.5,s='this is my figure',fontdict={'fontsize':20,'color':'blue'})

    figure1.suptitle(t='my title',x = 0.5,y=1,fontsize = 20,fontdict={'color':'y'})

    figure1.savefig('plot1.png')
    plt.show()

annotate()

annotate()的作用是给出带箭头指向的注释参数包括xy(进行注释的点的坐标),xytext(注释文字的坐标),text(注释的内容),arrowprops(箭头属性设置)主要包括以下四种属性和arrowstyle用于直接设置配置好的箭头属性,但是配置了arrowstyle就不能选用下面的自定义属性配置了

  • width参数设置箭头长方形部分的宽度
  • headlength参数设置箭头尖端的长度,
  • headwidth参数设置箭头尖端底部的宽度
  • shrink参数设置箭头顶点、尾部与指示点、注释文字的距离(比例值),可以理解为控制箭头的长度

arrowstyle

``'->'``       head_length=0.4,head_width=0.2
``'-['``       widthB=1.0,lengthB=0.2,angleB=None
``'|-|'``      widthA=1.0,widthB=1.0
``'-|>'``      head_length=0.4,head_width=0.2
``'<-'``       head_length=0.4,head_width=0.2
``'<->'``      head_length=0.4,head_width=0.2
``'<|-'``      head_length=0.4,head_width=0.2
``'<|-|>'``    head_length=0.4,head_width=0.2
``'fancy'``    head_length=0.4,head_width=0.4,tail_width=0.4
``'simple'``   head_length=0.5,head_width=0.5,tail_width=0.2
``'wedge'``    tail_width=0.3,shrink_factor=0.5
import numpy as np
import matplotlib.pyplot as plt

if __name__ == '__main__':
    x = np.linspace(0, 2*np.pi, 100)
    y = np.sin(x)
    y1 = np.cos(x)

    figure1 = plt.figure(figsize=(6, 4))
    axes1 = plt.subplot(1, 1, 1)
    axes1.plot(x, y)
    axes1.annotate(xy=(np.pi/2,1),xytext=(np.pi/2,0.2),text='max',arrowprops={'arrowstyle':'simple'})
    figure1.savefig('plot1.png')
    plt.show()

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

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

相关文章

微积分直觉:隐含微分

目录 一、介绍 二、梯子问题 三、结论 四、一个额外的例子 一、介绍 让我们想象一个半径为 5 的圆&#xff0c;以 xy 平面为中心。现在假设我们想在点 &#xff08;3,4&#xff09; 处找到一条切线到圆的斜率。 好吧&#xff0c;为了做到这一点&#xff0c;我们必须非常接近圆和…

Qt-布局管理

布局管理 Qt布局系统提供了一种简单而强大的方式&#xff0c;可以自动在窗口组件中排列子窗口组件&#xff0c;以确保它们充分利用可用空间。 介绍 Qt包含了一组布局管理类&#xff0c;用于描述窗口组件在应用程序用户界面中的布局方式。当可用空间发生变化时&#xff0c;这…

Typora 写文章时修改图片保存位置

文章目录 为什么要修改图片位置修改图片位置1.打开偏好设置2.修改路径3.再写文章发现图片已经变成了相对路径 为什么要修改图片位置 默认位置不好找 如何修改呢&#xff1f; 修改图片位置 1.打开偏好设置 文件 > 偏好设置 2.修改路径 图像 > 插入图片时 按照下图…

C# 集合(Collection)

集合&#xff08;Collection&#xff09;类是专门用于数据存储和检索的类。这些类提供了对栈&#xff08;stack&#xff09;、队列&#xff08;queue&#xff09;、列表&#xff08;list&#xff09;和哈希表&#xff08;hash table&#xff09;的支持。大多数集合类实现了相同…

超市售货管理系统小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;会员管理&#xff0c;供应商信息管理&#xff0c;商品管理&#xff0c;出入库管理&#xff0c;公告管理&#xff0c;轮播图信息 微信端账号功能包括&#xff1a;系统首页&#xff0c;公告&#xff0c;…

Midjourney 随机风格 (Style Random),开启奇幻视觉之旅

作者:老余捞鱼 原创不易,转载请标明出处及原作者。 写在前面的话: Midjourney 最近推出了 "Style Random"(随机风格),这项功能可以让我们使用独特的随机 sref 代码创建图像,从而每次都能获得不同的美感。通过对这些功能的探索和尝试,我发现了一些很棒…

vscode安装使用plantuml插件

使用 VSCode 插件 如果你在 Visual Studio Code 中使用 PlantUML 插件&#xff0c;你可以按照以下步骤生成图片&#xff1a; 安装 PlantUML 插件&#xff1a; 在 VSCode 的扩展市场中搜索并安装 PlantUML 插件。 配置插件&#xff1a; 打开设置&#xff0c;确保插件配置正确。…

【Unity小工具】Image组件宽度、高度自适应

Unity开发中&#xff0c;用同一个Image进行动态加载不同尺寸的图片&#xff0c;在显示上会有形变此工具可以进行Image的宽度、高度自适应 实现原理 获取Image原始尺寸&#xff08;sizeDelta&#xff09;获取图片原始尺寸&#xff08;spriteSizeDelta&#xff09;公式&#xff…

PDF标准详解(四)——图形操作符

上一节&#xff0c;我们了解了PDF中cm操作符&#xff0c;它是定义变换矩阵的。同时也了解到re是创建一个矩阵的。上一节也说过&#xff0c;它用来构建一个路径&#xff0c;具体什么是路径&#xff0c;路径有什么作用呢&#xff1f;这些将在本节给出解释 图形操作符是用来在pdf…

移远通信高端5G智能模组SG560D-NA率先通过PTCRB认证

近日&#xff0c;移远通信宣布&#xff0c;其基于高通QCM6490平台打造的高端5G智能模组SG560D-NA顺利通过PTCRB认证。 在此之前&#xff0c;该模组还获得了美国FCC和加拿大IC认证&#xff0c;这意味着&#xff0c;其已完全满足北美地区的相关标准和规定&#xff0c;能够支持相关…

pdf压缩到指定大小需要怎么压缩?2024快速进行文件压缩的软件合集

pdf压缩到指定大小需要怎么压缩&#xff1f;2024快速进行文件压缩的软件合集 当你需要将PDF文件压缩到指定的大小时&#xff0c;选择适当的软件和方法可以帮助你在保持文件质量的同时&#xff0c;尽可能地减小文件体积。以下是五款可以帮助你快速压缩PDF文件并控制其大小的软件…

芯片散热设计

目录 摘要 散热方式分类 1.传导 2.对流 对流换热系数 对流方式 3.辐射 热阻 散热器 作用 材质 底部厚度 鳍片 表面处理 压力设计 界面材料 相关标准 摘要 散热设计是硬件设计中的进阶内容&#xff0c;掌握散热原理和设计要点是很有必要的。 散热方式分类 散…

【C++二分查找】1818. 绝对差值和

本文涉及的基础知识点 C二分查找 LeetCode1818. 绝对差值和 给你两个正整数数组 nums1 和 nums2 &#xff0c;数组的长度都是 n 。 数组 nums1 和 nums2 的 绝对差值和 定义为所有 |nums1[i] - nums2[i]|&#xff08;0 < i < n&#xff09;的 总和&#xff08;下标从 …

Java获取小程序码示例(三种小程序码)

首先我们可以看到官方文档上是有三种码的 获取小程序码 这里特别要注意的是第一种和第三种是有数量限制的&#xff0c;所以大家生成的时候记得保存&#xff0c;也不要一直瞎生成 还有一点要注意的是第一种和第二种是太阳码 第三种是方形码 好了直接上代码 这里要注意&#xff…

南京网站设计手机用的网站

近年来&#xff0c;随着移动互联网的快速发展&#xff0c;越来越多的用户通过手机浏览网页&#xff0c;这使得网站设计逐渐向移动端倾斜。在南京&#xff0c;网站设计特别注重适配手机端&#xff0c;这不仅是用户体验的提升&#xff0c;也是市场竞争的需要。一个响应式的网站能…

深度评测热门翻译工具,携手你的翻译得力助手

随着互联网技术的飞速发展&#xff0c;全球化交流日益频繁&#xff0c;跨语言沟通的需求也随之激增。对于外语水平有限的朋友来说&#xff0c;翻译器是一个必不可少的工具。今天我就分享几款我用的翻译器吧。 1.福晰在线翻译 链接直达>>https://fanyi.pdf365.cn/doc …

Java语言的Netty框架+云快充协议1.5+充电桩系统+新能源汽车充电桩系统源码

介绍 云快充协议云快充1.5协议云快充1.6云快充协议开源代码云快充底层协议云快充桩直连桩直连协议充电桩协议云快充源码 软件架构 1、提供云快充底层桩直连协议&#xff0c;版本为云快充1.5&#xff0c;对于没有对接过充电桩系统的开发者尤为合适&#xff1b; 2、包含&…

WebAPI (一)DOM树、DOM对象,操作元素样式(style className,classList)。表单元素属性。自定义属性。间歇函数定时器

文章目录 Web API基本认知一、 变量声明二、 DOM1. DOM 树2. DOM对象3. 获取DOM对象(1)、选择匹配的第一个元素(2)、选择匹配多个元素 三、 操作元素1. 操作元素内容2. 操作元素属性(1)、常用属性&#xff08;href之类的&#xff09;(2)、通过style属性操作CSS(3)、通过类名(cl…

Vivado 约束

步骤5&#xff1a;保存约束 约束管理是设计流程的重要一步&#xff0c;Vivado设计套件 为您提供了在现有约束文件中添加新约束、覆盖的灵活性 现有约束&#xff0c;或创建新的约束文件以跟踪设计更改或完成 缺少约束。 您为设计创建了一些定时异常&#xff0c;但这些异常仅存在…

​​NIFI汉化_替换logo_二次开发_Idea编译NIFI最新源码_详细过程记录_全解析_Maven编译NIFI避坑指南002

继续,执行pom.xml引入依赖以后,发现以下几种报错: 可以看到在下载aws-java-sdk-bundle 1.12.710版本的时候报错了 可以看到日志信息,就是在阿里云上下载的,因为阿里云上缺少这个jar包 aws-java-sdk-bundle-1.12.710.jar 这个jar包,我还特意去阿里云上查询了一下 https://deve…