0 自动放缩
轴上的限制可以手动设置(例如ax.set_xlim(xmin, xmax)),或者Matplotlib可以根据Axes上已有的数据自动设置它们。此种放缩行为有许多选项,如下所述。
我们将从一个简单的折线图开始,显示自动缩放将轴限制扩展到数据的极限(−2π,2π)(-2\pi, 2\pi)(−2π,2π)之外5%。
import matplotlib.pyplot as plt
import numpy as np
import matplotlib as mpl
x = np.linspace(-2 * np.pi, 2 * np.pi, 100)
y = np.sinc(x)
fig, ax = plt.subplots()
ax.plot(x, y)

小白按:matplotlib的默认自动放缩就是以数据分布极限的±5%的余量来控制绘图的。下面将会讲到“余量”(裕度),默认余量等概念。
1 边距裕度
默认的边距裕度为数据极限的5%,这是基于rcParams["axes.xmargin"](默认0.5)、rcParams["axes.ymargin"](默认0.5)和rcParams["axes.zmargin"](默认0.5)的默认配置设置:
print(ax.margins())
输出为:
(0.05, 0.05)
可以修改裕度参数来让边距更小或更大:
fig, ax = plt.subplots()
ax.plot(x, y)
ax.margins(0.2, 0.2)

通常,边距裕度可以在(-0.5, ∞)范围内,其中负边距将axes限制设置为数据范围的子范围,即它们的裁剪数据。使用单个数字作为边距裕度会影响两个轴,可以使用关键字参数x或y自定义单个边距,但位置和关键字接口不能同时组合。
fig, ax = plt.subplots()
ax.plot(x, y)
ax.margins(y=-

本文介绍了Matplotlib中如何处理自动轴限制,包括默认的边距裕度(5%),边距调整,粘性边缘的概念,以及如何控制自动缩放以适应不同场景。重点讲解了如何处理Collection类的特殊性,需要手动调用autoscale_view()来更新轴限制。

8489

被折叠的 条评论
为什么被折叠?



