Я ищу простой способ нарисовать прямоугольник вокруг набора осей ... es (да, axeses --- вините глупую терминологию matplotlib).В идеале я хотел бы легко получить доступ к нижним правым и верхним правым угловым координатам всех осей и найти соответствующие минимальные и максимальные значения, а затем использовать эти две координаты в качестве нижних левых и верхних правых координат прямоугольного патча.Но, насколько я могу судить, API не предоставляет эти функции.
Можете ли вы придумать простой и многократно используемый способ сделать это?
Вот изображение того, что я правсейчас.Рамка неравномерно обрамляет две оси:
import matplotlib.pyplot как plt
from matplotlib import patches
import numpy as np
fig = plt.figure()
X, Y = np.mgrid[-1:1:.1, -1:1:.1]
Z = X+Y
ax1 = fig.add_subplot(311)
ax2 = fig.add_subplot(313)
ax1.contourf(X, Y, Z)
ax2.contourf(X, Y, -Z)
frame = patches.Rectangle(
(-.1,-.1), 1.2, 3.2, transform=ax2.transAxes, fill=True, zorder=0
)
fig.patches.append(frame)
fig.show()
