我想在等比例轴上绘制一组多边形,并对图形应用紧凑布局。然而,当同时使用等比例和紧凑布局时,似乎无法正确调整图形大小。
输出:工作正常,除了纵横比不相等。 如何实现紧凑布局和等比例缩放?
尝试1
等比例和紧凑布局
import matplotlib.pyplot as plt
from matplotlib.patches import Polygon
import numpy as np
fig, ax = plt.subplots(1,1)
l = 5
h = 1
poly = Polygon(
np.array([
[0,0],
[l,0],
[l,h],
[0,h]
]),
edgecolor="black",
facecolor="gray",
)
ax.add_patch(poly)
ax.set_aspect("equal")
ax.set_xlim(0,l)
ax.set_ylim(0,h)
ax.set_xlabel(r"$x$")
ax.set_ylabel(r"$y$", rotation=0, labelpad=5)
fig.tight_layout(pad=0.25)
plt.show()
输出:注意顶部和底部的额外空间。还要注意,y轴标签超出了范围。
尝试2
没有等比例的紧凑布局
import matplotlib.pyplot as plt
from matplotlib.patches import Polygon
import numpy as np
fig, ax = plt.subplots(1,1)
l = 5
h = 1
poly = Polygon(
np.array([
[0,0],
[l,0],
[l,h],
[0,h]
]),
edgecolor="black",
facecolor="gray",
)
ax.add_patch(poly)
# ax.set_aspect("equal")
ax.set_xlim(0,l)
ax.set_ylim(0,h)
ax.set_xlabel(r"$x$")
ax.set_ylabel(r"$y$", rotation=0, labelpad=5)
fig.tight_layout(pad=0.25)
plt.show()
输出:工作正常,除了纵横比不相等。 如何实现紧凑布局和等比例缩放?