我正在创建一个带有包含4个子图的matplotlib图的PyQt应用程序(图中的屏幕截图):
我想创建2个按钮" pan left"和#34;向右平移",它将在x轴上以选定的速率平移4个子图。
我还希望在GUI中包含一个按钮 - "跳转到位置",它将从GUI中的文本框中读取值并跳转到x轴上的该位置 - 在所有4个子图上。登记/>
我还没有办法以这些方式操纵现有的平移功能。
任何建议,将不胜感激。谢谢。
答案 0 :(得分:0)
行,
我最终使用了比我想象的更简单的解决方案
附在这里是我的解决方案的代码:
def jump_to_loc(self):
global dataArrays
for j in range(len(dataArrays)):
ax = self.figure.axes[j]
yBoundary = self.figure.yBoundaries[j]
ax.axis([self.jmpToLocSpinner.value(), self.jmpToLocSpinner.value()+100, yBoundary[0], yBoundary[1]])
self.figure.draw()
def pan(self, dir):
global dataArrays
dir_val = 0
if dir == 'left':
dir_val = 10
else:
dir_val = -10
for j in range(len(dataArrays)):
ax = self.figure.axes[j]
yBoundary = self.figure.yBoundaries[j]
x_axis = ax.get_xlim()
ax.axis([x_axis[0] + dir_val, x_axis[1] + dir_val, yBoundary[0], yBoundary[1]])
self.figure.draw()
def pan_left(self):
self.pan('right')
def pan_right(self):
self.pan('left')
我基本上在轴组件中使用'轴'功能,以设置x轴限制。