【问题标题】:How to set a fixed number of ticks on QwtPlot如何在 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

【问题讨论】:

    标签: c++ qt qwt


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢@Uwe。我无法控制轴范围(因为缩放),那么我想我需要像你说的那样实现我自己的 QwtScaleEngine 类型。你能提供一个简单的例子来说明我该怎么做吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-02
    • 1970-01-01
    • 2013-02-21
    相关资源
    最近更新 更多