如何在 QwtPlot 上设置固定数量的刻度

How to set a fixed number of ticks on QwtPlot

我在 QwtPlot 个滴答声方面遇到了一些问题。

我的QwtPlot的X轴是这样的:

我正在将 AxisMaxMajor 设置为 24:

dataPlot->setAxisMaxMajor(QwtPlot::xBottom, 24);

但是并没有解决我的问题

我需要恰好 23 个刻度 (1~23) 来表示一天中的每个小时。我该怎么做?

Qwt 6.1.0

Qt 5.3.2

当需要 date/time 相关报价时,您需要使用 QwtDateScaleEngine。如果有 1-24 中的东西,基于十进制系统的比例引擎将不会出现。

如果 QwtDateScale 类 不适合您的用例,您可以选择手动设置刻度 (QwtPlot::setAxisScaleDiv())。

如果您无法控制轴范围(f.e 因为缩放),最终的后备解决方案是实现您自己的 QwtScaleEngine 类型。这听起来更容易,因为它只是意味着在给定范围内每小时返回一个刻度。