после большого количества поиска и получения помощи от здесь , а также от stackoverflow, я получил что-то, но решение все еще не является правильным.
Вот мой код:
Я использую RectangleSelector
для перемещения и растяжения вставных осей главных осей matplotlib.
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.widgets as widgets
def onselect(eclick, erelease):
if eclick.ydata<erelease.ydata:
erelease.ydata,eclick.ydata=eclick.ydata,erelease.ydata
if eclick.xdata<erelease.xdata:
erelease.xdata,eclick.xdata=eclick.xdata,erelease.xdata
axes2.set_ylim(eclick.ydata,erelease.ydata)
axes2.set_xlim(eclick.xdata,erelease.xdata)
axes2.set_position([eclick.xdata,eclick.ydata,erelease.xdata,erelease.ydata])
fig.canvas.draw()
fig = plt.figure()
axes1 = fig.add_axes([0.1, 0.1, 0.8, 0.8])
axes2 = fig.add_axes([0.2, 0.2, 0.4, 0.3])
axes2.autoscale(enable=True, axis='both', tight=None)
rp = dict(facecolor='white',edgecolor = 'black', alpha=0.5, fill=True)
rs=widgets.RectangleSelector(axes1, onselect, drawtype='box',interactive=True,
spancoords='pixels',rectprops = rp )
plt.show()
здесь это RectangleSelector
предположим, что оно с axes2
, и оно должно быть растягиваемым и растягиваемым вместе с ним. Когда я двигаюсь RectangleSelector
отдельно в axes1
, и в то время, когда я выпускаю RectangleSelector
в это время axes2
, также меняются его позиция и размер. Что я должен делать сейчас. Пожалуйста, помогите мне на Это. Спасибо заранее.