如何在主子批次Matplotlib中的子批次DragTable内移动

2024-05-19 13:59:37 发布

您现在位置:Python中文网/ 问答频道 /正文

经过大量的搜索和从here以及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在一起,它应该可以拖拉和拉伸。当我在axes1中分别移动RectangleSelector时,当我在RectangleSelector释放axes2时,它的位置和大小也会改变改变什么我想是的现在。求你了帮我一把这个。谢谢提前。你知道吗


Tags: importtruematplotlibasfigpltwidgetsset