【发布时间】:2018-08-21 04:49:58
【问题描述】:
为了更好地理解我所做的和我想要实现的目标:
我想设置一个带有时间轴的 QwtPlot 来显示信号(电压随时间变化)。我为 QwtScaleDraw 编写了一个自己的实现,因此我可以添加一个偏移量(比如说 1000µs)并更改时间轴的“零”值。
没有我的系统在 123µs 加上此偏移后测量事件。所以我想用 setInterval(1000, 1123) 只显示这部分情节。但为了更好地理解情节,我想在此事件之前和之后添加一些时间。假设是事件长度的 10%
123µs 的 10% 是 12.3µs => setInterval(987.7, 1135.3)
轴现在显示从 -12.3µs 到 135.3µs 的时间跨度。
现在的问题:如何强制轴在 0µs 处显示主要刻度?
我是否必须使用 QwtScaleEngine 来计算我的刻度,或者它是 QwtScaleDraw 的工作还是我只是错过的轴内已经有一个函数?
编辑:
我认为问题出在我的偏移量上。我直接从我自己的QwtScaleDraw实现的函数QwtText label(qreal value) const中的原始值中减去这个值。所以在这个例子中要显示的零是值 1000。也许更好,所以用其他方式设置偏移量?
【问题讨论】:
标签: c++ qt plot axis-labels qwt