📌  相关文章
📜  Python中的 Matplotlib.axes.Axes.set_adjustable()(1)

📅  最后修改于: 2023-12-03 15:34:22.704000             🧑  作者: Mango

Python中的 Matplotlib.axes.Axes.set_adjustable()介绍

在Matplotlib中,Axes类是一个常用的绘图类,包含了所有绘图所需的属性和方法。其中,Axes.set_adjustable()方法用于设置坐标轴的调整方式。本文将介绍有关该方法的详细内容。

方法介绍
Axes.set_adjustable()

语法:Axes.set_adjustable(adjustable)

参数: adjustable:{'box', 'datalim', 'box-forced'} or None,可选,默认为None。

返回值: None。

说明: 该方法用于设置坐标轴的调整方式,可选值为'box'、'datalim'、'box-forced'或None。

当adjustable为'box'时,坐标轴的大小将会调整到包含图形的最小矩形框内。

当adjustable为'datalim'时,坐标轴的大小将会调整到数据可绘制的范围内。

当adjustable为'box-forced'时,坐标轴的大小将会调整到包含图形的矩形框内,但这个矩形框不一定是最小的。

当adjustable为None时,坐标轴的大小不会调整,剩余空间将会留白。

使用示例
示例一
import matplotlib.pyplot as plt
import numpy as np

fig, ax = plt.subplots()

x = np.linspace(0, 5, 100)
y1 = np.sin(x)
y2 = np.cos(x)

line1, = ax.plot(x, y1, label='sin')
line2, = ax.plot(x, y2, label='cos')

ax.legend()

ax.set_adjustable('datalim')

plt.show()

该示例代码设置了adjustable为'datalim',此时坐标轴大小会自动调整到数据可绘制的范围内。最终绘制的图形如下:

set_adjustable_datalim

示例二
import matplotlib.pyplot as plt
import numpy as np

fig, ax = plt.subplots()

x1 = np.linspace(0,5,100)
y1 = x1**2
x2 = np.linspace(0,5,100)
y2 = x2

line1, = ax.plot(x2, y2, label='y=x')
line2, = ax.plot(x1, y1, label='y=x^2')

ax.legend()

ax.set_adjustable('box')

plt.show()

该示例代码设置了adjustable为'box',此时坐标轴大小会自动调整到包含图形的最小矩形框内。最终绘制的图形如下:

set_adjustable_box

总结

Axes.set_adjustable()方法是用来设置坐标轴的调整方式的,常见的使用方式是选择调整到数据可绘制的范围内(datalim)或包含图形的最小矩形框(box),也可以设置为box-forced来调整到一个更大的矩形框内。如果不需要调整大小,可以将adjustable设置为None。