Matplotlib在图形中添加文本说明

简介: 在图形中添加说明文本,可以用于凸显图中点或线的重要性,本文,通过讲解如何使用Matplotlib在图形中添加文本说明,来实战展示文本说明的重要性。

添加文本说明

很多时候我们需要在图形中添加说明文本,来凸显图中点或线的重要性。

importnumpyasnpimportmatplotlib.pyplotaspltx=np.linspace(0, 8, 1000)
y=2.0*x+0.5*5*x**2plt.title('Acceleration Moving')
plt.xlabel('Time')
plt.ylabel('distance')
plt.scatter(x[0],y[0])
plt.text(x[0], y[0], 'start')
plt.plot(x, y, c='c')
plt.show()

绘图55.png

Tips:plt.text() 函数接受要显示的位置和文本作为参数。位置以坐标形式给出,其指定了文本框左下角的位置。

文本的对齐方式

文本外围包含隐式文本框(下文会介绍文本框的显示方法),此框用于将文本与传递给 plt.text() 的坐标进行相对对齐。使用 verticalalignment 和 horizontalalignment 参数(它们分别可以简写为 va 和 ha )控制对齐的方式。

垂直对齐选项如下所示:

参数值

说明

center

参数坐标相对于文本框的中心

top

参数坐标相对于文本框的上侧

bottom

参数坐标相对于文本框的底部

baseline

参数坐标相对于文本的基线

importnumpyasnpimportmatplotlib.pyplotaspltx=np.linspace(0, 8, 1000)
y=2.0*x+0.5*5*x**2x_b=np.linspace(0, 8, 1000)
y_b=np.zeros_like(x_b)
plt.title('Acceleration Moving')
plt.xlabel('Time')
plt.ylabel('distance')
plt.scatter(x[0],y[0])
plt.text(0, 0, 'center', va='center')
plt.text(2, 0, 'top', va='top')
plt.text(4, 0, 'bottom', va='bottom')
plt.text(6, 0, 'baseline', va='baseline')
plt.plot(x, y, c='c')
plt.plot(x_b, y_b, c='m')
plt.show()

绘图56.png

水平对齐选项如下所示:

参数值

说明

center

参数坐标相对于文本框的中心

left

参数坐标相对于文本框的左侧

right

参数坐标相对于文本框的右侧

importnumpyasnpimportmatplotlib.pyplotaspltx=np.linspace(0, 8, 1000)
y=2.0*x+0.5*5*x**2y_b=np.linspace(0, 100, 1000)
x_b=np.zeros_like(y_b)
plt.title('Acceleration Moving')
plt.xlabel('Time')
plt.ylabel('distance')
plt.scatter(x[0],y[0])
plt.text(0, 0, 'center', ha='center')
plt.text(0, 50, 'left', ha='left')
plt.text(0, 100, 'right', ha='right')
plt.plot(x, y, c='c')
plt.plot(x_b, y_b, c='m')
plt.show()

绘图57.png

文本边界框

上文介绍了文本外围包含隐式文本框,为了可以显式的绘制文本框,plt.plot() 支持一个以字典为输入的 bbox 参数,此词典用于定义文本框的外观配置:

importnumpyasnpimportmatplotlib.pyplotaspltx=np.linspace(0, 8, 1000)
y=2.0*x+0.5*5*x**2box= {
'facecolor': '.75',
'edgecolor': 'r',
'boxstyle': 'round'}
plt.title('Acceleration Moving')
plt.text(0, 8, 'start', bbox=box)
plt.plot(x, y, c='c')
plt.show()

绘图54.png

bbox 参数的字典定义包含以下常见键值对:

说明与可选值

facecolor

用于设置文本框背景和边的颜色

edgecolor

用于设置文本框边缘的颜色

alpha

用于设置透明度级别,使文本框与背景更好的混合

boxstyle

设置文本框的样式,可选值包括 "round" 和 "square"

pad

如果 "boxstyle" 设置为 "square",则它定义文本和文本框边之间的填充量 


相关文章
|
4月前
|
存储 编解码 数据可视化
【Matplotlib】figure方法之图形的保存
【Matplotlib】figure方法之图形的保存
140 1
|
4月前
|
数据可视化 Python
GEE Colab——如何利用Matplotlib在colab中进行图形制作
GEE Colab——如何利用Matplotlib在colab中进行图形制作
97 3
|
2月前
|
数据可视化 Linux 数据格式
`seaborn`是一个基于`matplotlib`的Python数据可视化库,它提供了更高级别的接口来绘制有吸引力的和信息丰富的统计图形。`seaborn`的设计目标是使默认图形具有吸引力,同时允许用户通过调整绘图参数来定制图形。
`seaborn`是一个基于`matplotlib`的Python数据可视化库,它提供了更高级别的接口来绘制有吸引力的和信息丰富的统计图形。`seaborn`的设计目标是使默认图形具有吸引力,同时允许用户通过调整绘图参数来定制图形。
|
2月前
|
Python
`matplotlib`是Python中一个非常流行的绘图库,它提供了丰富的绘图接口,包括二维和三维图形的绘制。`Axes3D`是`matplotlib`中用于创建三维坐标轴的对象,而`plot_surface`则是用于在三维空间中绘制表面的函数。
`matplotlib`是Python中一个非常流行的绘图库,它提供了丰富的绘图接口,包括二维和三维图形的绘制。`Axes3D`是`matplotlib`中用于创建三维坐标轴的对象,而`plot_surface`则是用于在三维空间中绘制表面的函数。
|
2月前
|
数据采集 数据可视化 数据处理
我们来看一个简单的`matplotlib`代码示例,它使用`plot()`和`scatter()`函数来绘制二维图形。
我们来看一个简单的`matplotlib`代码示例,它使用`plot()`和`scatter()`函数来绘制二维图形。
|
4月前
|
存储 数据可视化 算法
最新Python-Matplotlib可视化(9)——精通更多实用图形的绘制,2024年最新小米面试题库
最新Python-Matplotlib可视化(9)——精通更多实用图形的绘制,2024年最新小米面试题库
最新Python-Matplotlib可视化(9)——精通更多实用图形的绘制,2024年最新小米面试题库
|
4月前
|
缓存 Linux API
如何使用Matplotlib绘制出美观实用的图形?
如何使用Matplotlib绘制出美观实用的图形?
|
4月前
|
编解码 数据可视化 索引
【Matplotlib】Figure图形中的图表元素怎么获取,你掌握了吗!?
【Matplotlib】Figure图形中的图表元素怎么获取,你掌握了吗!?
53 1
|
4月前
|
Python
Matplotlib figure图形对象
Matplotlib figure图形对象
67 1
|
数据可视化 前端开发 UED
matplotlib图形整合之多个子图一起绘制
matplotlib图形整合之多个子图一起绘制
657 0
matplotlib图形整合之多个子图一起绘制