Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 具有多轴问题的可拖动图例_Python_Qt4_Matplotlib_Legend - Fatal编程技术网

Python 具有多轴问题的可拖动图例

Python 具有多轴问题的可拖动图例,python,qt4,matplotlib,legend,Python,Qt4,Matplotlib,Legend,我想知道,如果有人有一个解决方案,我的问题时,使用一个可拖动的图例结合多个轴 我正在使用gridspec和figure(matplotlib 1.0.1,qt4后端)创建两个轴–无pyplot。当图例从一个轴拖动到另一个轴并释放时,其可拖动性将停止工作 如果图例的一部分位于轴的边界之外,则可以通过单击该部分来拾取该图例,但如果鼠标单击轴内图例的任何区域,则无法拾取该图例 我试过了,但图例会滑到我应用程序的第二个轴下 我的应用程序非常大-太大,无法在此处显示,因此为了说明问题,我修改了(使用pyp

我想知道,如果有人有一个解决方案,我的问题时,使用一个可拖动的图例结合多个轴

我正在使用gridspec和figure(matplotlib 1.0.1,qt4后端)创建两个轴–无pyplot。当图例从一个轴拖动到另一个轴并释放时,其可拖动性将停止工作

如果图例的一部分位于轴的边界之外,则可以通过单击该部分来拾取该图例,但如果鼠标单击轴内图例的任何区域,则无法拾取该图例

我试过了,但图例会滑到我应用程序的第二个轴下

我的应用程序非常大-太大,无法在此处显示,因此为了说明问题,我修改了(使用pyplot)中的一些代码,如下所示:

from matplotlib.pyplot import *

subplot(211)
plot([1,2,3], label="test1")
plot([3,2,1], label="test2")
leg=legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
           ncol=2, mode="expand", borderaxespad=0.)
leg.draggable(state=True, use_blit=True)

subplot(223)
plot([1,2,3], label="test1")
plot([3,2,1], label="test2")
leg=legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.)
leg.draggable(state=True, use_blit=True)

show()
它生成一个带有两个轴和两个图例的绘图

运行代码并拖动图例以查看效果(如果没有任何问题,一定是我吃的东西,我道歉)

我怀疑解决方案的级别可能相当低,但谁知道呢,可能只是一个简单的解决方案


谢谢你的帮助。

我重现了这个问题。进入外星图形的图例部分变得不可点击,好像该图形将捕捉鼠标位置事件,而不是将其重新发送给其他处理程序

再现该问题的最小代码(使用ipython-pylab进行实验)是:


+1说明正确。没有回答。
In [16]: f211 = plt.subplot(211)
In [17]: f212 = plt.subplot(212)
In [18]: p1 = plot([1,2], label="test1")
In [20]: leg = legend(loc=(0.5,0.5))
In [21]: d = leg.draggable(state=True, use_blit=True)