平移按钮+跳转到matplotlib中的位置

时间:2018-03-28 14:00:59

标签: python matplotlib pyqt pyqt4 data-visualization

我正在创建一个带有包含4个子图的matplotlib图的PyQt应用程序(图中的屏幕截图):
enter image description here
我想创建2个按钮" pan left"和#34;向右平移",它将在x轴上以选定的速率平移4个子图。
我还希望在GUI中包含一个按钮 - "跳转到位置",它将从GUI中的文本框中读取值并跳转到x轴上的该位置 - 在所有4个子图上。登记/> 我还没有办法以这些方式操纵现有的平移功能。
任何建议,将不胜感激。谢谢。

1 个答案:

答案 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轴限制。