我正在使用QWidgets
开发Qt5应用程序。我正在使用Qwt-library中的QwtPlot
在工具中绘制实时数据。我将绘图轴设置为通过ui.qwtPlot->setAxisAutoScale(axis)
自动缩放,因为我想让绘图自动适应传入的数据。
现在,有些客户正在要求使用x和y轴间距相等的图。我找到了QwtPlotRescaler
,这似乎是正确的选择。我已成功将其添加到我的绘图中,该绘图现在可以根据需要使用相等的轴。 (我可以通过其他按钮来禁用/启用此功能。)
但是我注意到,每当我激活相等的轴时,都会禁用自动缩放功能。有了动态输入的数据,我仍然希望有一个重新缩放的图。每当内容(图中的项目)发生更改时,轴应自动增长和收缩。因此,就像正常的自动缩放一样,但同时要使轴保持相等。我该如何存档?
您需要其他信息吗? 感谢您的帮助!
答案 0 :(得分:0)
假设您的y轴应取决于x轴,以便您的坐标系始终具有固定的长宽比。
然后,Qwt必须调整y轴的范围,并且必须忽略数据在y方向上的边界间隔-没有解决方案可以同时执行这两种操作。
可以做的是在x轴上添加额外的边距,以便y轴的范围根据宽高比增加-最后包括数据的边界间隔。但是,QwtPlotRescaler并没有实现实现此目标的良好利润。
但是,如果有帮助,自动缩放器所做的就是根据曲线的boundingRect调整比例。每当您更改数据时,也可以自行执行此操作。