问题描述
我想同时使用矩形选择器和多光标。 不幸的是,只有一个显示矩形选择器或MultiCursor。
当我绘制一个矩形时,多光标消失了。 绘制矩形并移动鼠标后,出现MultiCursor,矩形选择器消失。
是否都可以显示全部时间?
感谢您和最诚挚的问候
from matplotlib.widgets import RectangleSelector,MultiCursor
import matplotlib.pyplot as plt
'''Daten einlesen'''
x = [1,2,3,4,5,6,7,8,9,10]
y = [1,1,1]
ID1 = [5,12,5]
ID2 = [200,200,196,193,200]
'''PLotten'''
plt.close()
fig,(ax1,ax2,ax3) = plt.subplots(3)
def Daten_plotten (ax,xx,yy):
ax.plot(xx,yy)
ax.set_xlim([min(xx)-1,max(xx)+1])
ax.set_ylim([min(yy)-0.5,max(yy)+0.5])
Daten_plotten(ax1,x,y,)
Daten_plotten(ax2,y)
Daten_plotten(ax3,ID1)
Daten_plotten(ax3,ID2)
ax3.set_xlim([min(x),max(x)])
ax3.set_ylim([0,max(ID2)+1])
def line_select_callback_ax1(eclick,erelease):
'eclick and erelease are the press and release events'
x1,y1 = eclick.xdata,min(y)-0.5
x2,y2 = erelease.xdata,max(y)+0.5
x3 = x1 + (x2-x1)/2
print("(%3.2f) --> (%3.2f)" % (x1,x2))
print(x3)
ax2.set_xlim([x1,x2])
ax2.set_ylim([y1,y2])
ax3.set_xlim([x1,x2])
ax3.set_ylim([0,max(ID2)+1])
plt.pause(0.01)
fig.canvas.draw
multi = MultiCursor(fig.canvas,ax2),color='r',lw=1,horizOn=True,vertOn=True)
RS = RectangleSelector(ax1,line_select_callback_ax1,drawtype='Box',useblit=True,button=[1,3],# don't use middle button
minspanx=1,minspany=1,spancoords='pixels',interactive=True)
plt.show()
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)