📅  最后修改于: 2023-12-03 14:44:12.199000             🧑  作者: Mango
在 Matplotlib 中,savefig() 函数可以用来保存图形,但默认情况下会将整个图形保存下来。有时候我们需要将某个区域的图像保存下来,这时就需要使用到截断图。
我们需要使用到 Axes.set_ylim
和 Axes.get_ylim
来限制 Y 轴范围,而 X 轴范围则可以通过 Axes.set_xlim
和 Axes.get_xlim
来实现。
下面是一个示例:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y = np.sin(x)
fig, ax = plt.subplots()
ax.plot(x, y)
ax.set_ylim(-0.5, 0.5)
ax.set_xlim(2, 8)
plt.savefig("truncated.png")
这里我们生成一个正弦曲线,然后设置 Y 轴的范围为 -0.5
到 0.5
,以及 X 轴的范围为 2
到 8
。最后保存为 truncated.png
。
有时候我们需要将 Y 轴的范围自适应,只显示我们需要的部分。这时我们可以使用到 Axes.autoscale
和 Axes.relim
函数。
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y = np.sin(x)
fig, ax = plt.subplots()
ax.plot(x, y)
ax.relim()
ax.autoscale(axis='y', tight=True)
ax.set_xlim(2, 8)
plt.savefig("truncated2.png")
这里我们先使用 Axes.relim()
函数重新归一化数据范围,然后使用 Axes.autoscale()
函数来根据数据自动调整 Y 轴范围,然后再设置 X 轴的范围为 2
到 8
。最后保存为 truncated2.png
。
截断图在需要突出某个部分的数据时非常有用。在 Matplotlib 中实现截断图也非常简单,只需要设置 Y 轴的范围,然后保存即可。如果需要自适应 Y 轴范围,可以使用 Axes.autoscale()
和 Axes.relim()
函数。