有没有办法创建一个缩放矩形,用于绘制子图或轴外?当前的matplotlib导航缩放矩形允许您一次单击并拖动一个轴内的矩形,但我希望选项可以在任何鼠标所在的位置扩展虚线矩形。
答案 0 :(得分:1)
这个想法可以是创建一个新轴,填充整个图形并使其透明。然后,您可以为该轴使用矩形选择器。
from matplotlib.widgets import RectangleSelector
import numpy as np
import matplotlib.pyplot as plt
fig, axes = plt.subplots(2,2)
for ax in axes.flat:
ax.scatter(np.random.rand(7), np.random.rand(7), c=np.random.rand(7))
def select(eclick, erelease):
x1, y1 = eclick.xdata, eclick.ydata
x2, y2 = erelease.xdata, erelease.ydata
pass
overax = fig.add_axes([0,0,1,1])
overax.patch.set_alpha(0)
overax.axis("off")
rs = RectangleSelector(overax, select,
drawtype='box', useblit=True,
button=[1, 3],
minspanx=5, minspany=5,
spancoords='pixels',
interactive=True)
plt.show()