Matplotlib绘图基础之文本标注详解

 更新时间:2023年08月02日 09:39:41   作者:databook  
Matplotlib 文本和标注可以为数据和图形之间提供额外的信息,帮助观察者更好地理解数据和图形的含义,下面就将通过示例依次介绍文本和标注的常用使用方式

Matplotlib 文本和标注可以为数据和图形之间提供额外的信息,帮助观察者更好地理解数据和图形的含义。

文本用于在图形中添加注释或提供更详细的信息,以帮助观察者理解图形的含义。

标注则是一种更加细粒度的文本信息,可以被用来为特定的数据点或区域提供更详细的信息。

本篇通过示例依次介绍文本和标注的常用使用方式。

1. 文本

文本在图形中主要用在标题,坐标轴,图形中的一些说明等等地方。

1.1. 颜色和字体

下面的示例演示了图形中各个部分文本的字体大小和颜色设置的方法:

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 10, 100)
y = x*x 
fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
#设置 标题 的字体和颜色
ax.set_title("标题", fontdict={"fontsize": 25, "color": "r"})
#设置 X轴和Y轴 标签的字体和颜色
ax.set_xlabel("x轴", fontdict={"fontsize": 20,"color": "g"})
ax.set_ylabel("y轴", fontdict={"fontsize": 20,"color": "b"})
#按照坐标位置(2, 60)添加一段文本
ax.text(2, 60, "f(x) = x*x", fontdict={"fontsize": 15,"color": "k"})
ax.plot(x, y, label="sin")
ax.legend()

需要掌握的部分就是 fontdict 这个参数,这个字典还有其他参数可以控制字体,这里只演示了两个常用的参数:

  • fontsize:字体大小设置
  • color:文字颜色

1.2. latex公式

上面的示例中,f(x) = x*x 可以 latex的方式来显示。

latex让能够显示各种复杂的数学公式,让文本看起来和数学书中一样。

x = np.linspace(0, 10, 100)
y = x*x 
fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
#设置 标题 的字体和颜色
ax.set_title("标题", fontdict={"fontsize": 25, "color": "r"})
#设置 X轴和Y轴 标签的字体和颜色
ax.set_xlabel("x", fontdict={"fontsize": 20,"color": "g"})
ax.set_ylabel("$x^2$", fontdict={"fontsize": 20,"color": "b"})
#按照坐标位置(2, 60)添加一段文本
ax.text(2, 60, "$f(x) = x^2$", fontdict={"fontsize": 15,"color": "k"})
ax.plot(x, y, label="sin")
ax.legend()

上面将 Y轴的文本图形中间的数学公式改成了 latex 格式。

2. 标注

图形添加标注时,一般包含2个部分,一个指向数据的箭头,一段说明文字。
设置标注的核心参数是:

  • xy:这是待标注的数据点的坐标
  • xytext:标注文本的坐标,一般是文本的左上角的点
  • bbox:文本框的样式字典
  • arrowprops:箭头的样式字典

下面的示例中,通过设置上面4个参数来演示几种常用的标注:

x = np.array(range(10))
y = np.array([89, 84, 30, 67, 41, 71, 62, 20, 89, 3])
fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
ax.plot(x, y)
ax.annotate(
    "第一个值",
    xy=(0, 89),
    xytext=(-0.3, 70),
    arrowprops={"arrowstyle": "->", "connectionstyle": "arc3,rad=-0.5"},
)
ax.annotate(
    "转折点一",
    xy=(2, 30),
    xytext=(1.8, 10),
    bbox={"boxstyle": "round", "fc": "none", "ec": "g"},
    arrowprops={"arrowstyle": "->"},
)
ax.annotate(
    "转折点二",
    xy=(3, 67),
    xytext=(3, 85),
    bbox={"boxstyle": "round", "fc": "lightblue", "ec": "r"},
    arrowprops={"arrowstyle": "fancy"},
)
ax.annotate(
    "最大值",
    xy=(8, 89),
    xytext=(6, 85),
    bbox={"boxstyle": "round", "alpha":0.1},
    arrowprops={"arrowstyle": "wedge,tail_width=0.8", "alpha":0.1},
)

  • 第一个值:设置了箭头的弯曲度
  • 转折点一:设置了边框
  • 转折点二:设置了边框和背景色,同时设置了另一种箭头样式
  • 最大值:设置了边框和另一种箭头的透明度。

3. 总结

在使用 Matplotlib 进行数据可视化时,合理使用文本和标注可以大大提高图形的可读性和易懂性,帮助观察者更好地理解数据和图形的含义。

但是,分析结果中是最重要的还是图形和数据,文本和标注不宜过度添加,也不能太花哨,以致喧宾夺主,本末倒置。

到此这篇关于Matplotlib绘图基础之文本标注详解的文章就介绍到这了,更多相关Matplotlib文本标注内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 在PyCharm中高效使用远程文件编辑功能的实现

    在PyCharm中高效使用远程文件编辑功能的实现

    PyCharm作为业界领先的集成开发环境(IDE),提供了强大的本地和远程开发功能,本文详细介绍了如何在PyCharm中使用远程文件编辑功能,希望能够帮助你提高远程开发的效率和体验
    2024-08-08
  • python类函数的有效调用方式

    python类函数的有效调用方式

    文章介绍了Python中类的几种不同方法,并展示了如何有效调用这些方法,实验涵盖了属性方法、静态方法、类方法、普通方法、保护方法和私有方法,并详细说明了每种方法的调用方式,文章还讨论了如何处理调用错误和返回值,并提供了一些实用建议
    2024-11-11
  • Python tkinter如何设置背景颜色

    Python tkinter如何设置背景颜色

    本文主要介绍了Python的tkinter库中设置组件背景颜色的方法,主要通过使用bg选项和config方法来实现,包括设置单个组件、窗口、按钮、文本框以及整个应用的背景颜色,同时也可以使用十六进制颜色代码进行更精确的颜色控制
    2024-09-09
  • Python技法之简单递归下降Parser的实现方法

    Python技法之简单递归下降Parser的实现方法

    递归下降解析器可以用来实现非常复杂的解析,下面这篇文章主要给大家介绍了关于Python技法之简单递归下降Parser的实现方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • python 序列解包的多种形式及用法解析

    python 序列解包的多种形式及用法解析

    这篇文章主要介绍了python 序列解包的多种形式及用法解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • python字符串格式化(%格式符和format方式)

    python字符串格式化(%格式符和format方式)

    在编写程序的过程中,经常需要进行格式化输出,每次用每次查,干脆就在这里整理一下,下面这篇文章主要给大家介绍了关于python字符串格式化的相关资料,分别是%格式符和format方式,需要的朋友可以参考下
    2022-02-02
  • Django中如何使用sass的方法步骤

    Django中如何使用sass的方法步骤

    这篇文章主要介绍了Django中如何使用sass的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • 详解Django中类视图使用装饰器的方式

    详解Django中类视图使用装饰器的方式

    这篇文章主要介绍了详解Django中类视图使用装饰器的方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • Python中的数据标准化与反标准化全面指南

    Python中的数据标准化与反标准化全面指南

    在数据处理和机器学习中,数据标准化是一项至关重要的预处理步骤,标准化能够将不同尺度和范围的数据转换为相同的标准,有助于提高模型的性能和稳定性,Python提供了多种库和函数来执行数据标准化和反标准化,如Scikit-learn和TensorFlow
    2024-01-01
  • Keras 快速解决OOM超内存的问题

    Keras 快速解决OOM超内存的问题

    这篇文章主要介绍了Keras 快速解决OOM超内存的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06

最新评论