如何使用PyQt4和matplotlib在同一窗口中将滑块的范围(即长度)链接到绘图轴的范围,即使在重新缩放窗口时,滑块也具有与绘图轴相同的长度?

最佳答案

您可以使用matplotlibax.get_xlim()来获取ax.get_ylim()图中轴的极限。它们返回一个tuple,其中包含该轴在数据坐标中的最小值和最大值。使用数据坐标的优点是,无论绘图的比例如何,它们都保持不变。

有用的Qt可以自动缩放QSlider的范围,以将最小值/最大值置于滑块的极限。因此,您可以简单地使用轴极限值来设置QSlider的范围,以使滑块的位置与轴上的位置之间的关系为1:1。

 xlims = ax.get_xlim()  # e.g. (0, 200)

 slider = QSlider()
 slider.setRange(*xlims)  # unpack the tuple into setRange
                          # alternatively slider.setRange(xlims[0], xlims[1])

关于python - PyQt4-将滑块的范围链接到绘图轴的范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36849146/

10-12 19:24