PyQt4 - link 滑块的范围到绘图轴的范围
PyQt4 - link the extent of a slider to the extent of a plotting axis
使用 PyQt4 和 matplotlib 如何 link 滑块的范围(即长度)与相同 window 中绘图轴的范围,使得滑块具有相同的长度作为绘图轴,即使 window 被重新缩放?
您可以使用 ax.get_xlim()
或 ax.get_ylim()
在 matplotlib
图中获取轴的范围。这些 returns 一个 tuple
包含该轴在 数据坐标 中的最小值和最大值。使用数据坐标的优点是无论绘图缩放比例如何,它们都保持不变。
Qt 自动缩放 QSlider
的范围以将 min/max 值置于滑块的极限。因此,您可以简单地使用轴限制值来设置 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])
使用 PyQt4 和 matplotlib 如何 link 滑块的范围(即长度)与相同 window 中绘图轴的范围,使得滑块具有相同的长度作为绘图轴,即使 window 被重新缩放?
您可以使用 ax.get_xlim()
或 ax.get_ylim()
在 matplotlib
图中获取轴的范围。这些 returns 一个 tuple
包含该轴在 数据坐标 中的最小值和最大值。使用数据坐标的优点是无论绘图缩放比例如何,它们都保持不变。
Qt 自动缩放 QSlider
的范围以将 min/max 值置于滑块的极限。因此,您可以简单地使用轴限制值来设置 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])