PyQt4 - 将滑块的范围链接到绘图轴的范围
Posted
技术标签:
【中文标题】PyQt4 - 将滑块的范围链接到绘图轴的范围【英文标题】:PyQt4 - link the extent of a slider to the extent of a plotting axis 【发布时间】:2016-08-19 08:24:12 【问题描述】:使用 PyQt4 和 matplotlib 如何将滑块的范围(即长度)链接到同一窗口中绘图轴的范围,这样即使窗口重新缩放,滑块的长度也与绘图轴相同?
【问题讨论】:
这是 Qt 滑块还是 mpl.widgets 滑块? @fen 我的回答解决了你的问题吗? 【参考方案1】:您可以使用ax.get_xlim()
或ax.get_ylim()
在matplotlib
图中获取轴的限制。这些返回一个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])
【讨论】:
以上是关于PyQt4 - 将滑块的范围链接到绘图轴的范围的主要内容,如果未能解决你的问题,请参考以下文章