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

时间:2016-09-19 23:06:23

标签: c++ qt qwt

我在QwtPlot刻度线上遇到了一些问题。

QwtPlot的X轴是:

enter image description here

我将 AxisMaxMajor 设置为24:

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

但它并没有解决我的问题。

我需要精确的23个刻度(1~23)来表示一天中的每个小时。我怎么能这样做?

Qwt 6.1.0

Qt 5.3.2

1 个答案:

答案 0 :(得分:2)

当需要与日期/时间相关的刻度时,您需要使用QwtDateScaleEngine。如果使用1-24中的内容,则不会出现基于十进制的缩放引擎。

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

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