如何在 QwtPlot 上设置固定数量的刻度
Posted
技术标签:
【中文标题】如何在 QwtPlot 上设置固定数量的刻度【英文标题】:How to set a fixed number of ticks on QwtPlot 【发布时间】:2016-09-19 23:06:22 【问题描述】:QwtPlot
滴答声有问题。
我QwtPlot
的X轴是这样的:
我将 AxisMaxMajor 设置为 24:
dataPlot->setAxisMaxMajor(QwtPlot::xBottom, 24);
但这并没有解决我的问题。
我需要正好 23 个刻度 (1~23) 来表示一天中的每个小时。我该怎么做?
Qwt 6.1.0
Qt 5.3.2
【问题讨论】:
【参考方案1】:当需要与日期/时间相关的刻度时,您需要使用QwtDateScaleEngine
。如果有 1-24 的内容,则不会出现基于十进制系统的缩放引擎。
如果 QwtDateScale
类不适合您的用例,您可以选择手动设置刻度 (QwtPlot::setAxisScaleDiv()
)。
如果您无法控制轴范围(例如由于缩放),最终的后备解决方案是实现您自己的 QwtScaleEngine
类型。这听起来更容易,因为它只是意味着在给定范围内每小时返回一个刻度。
【讨论】:
谢谢@Uwe。我无法控制轴范围(因为缩放),那么我想我需要像你说的那样实现我自己的QwtScaleEngine
类型。你能提供一个简单的例子来说明我该怎么做吗?以上是关于如何在 QwtPlot 上设置固定数量的刻度的主要内容,如果未能解决你的问题,请参考以下文章