c++ - 实时 QCustomPlot 的设置

标签 c++ qt plot real-time-data qcustomplot

我使用 Windows 7 x64、Qt 5.6、Visual Studio 2015、QCustomPlot 1.3.2。我需要从传感器(实时)绘制温度图。我每 500 毫秒接收一次温度值(频率 = 2 Hz)。我应该对 QCustomPlot 实例应用哪些设置,以便在 time_period = 10 分钟内收到最后一个值? 这是更新槽的片段:

double key = QDateTime::currentDateTime().toMSecsSinceEpoch() / 1000.0;
custom_plot_->graph(0)->addData(key, value);
custom_plot_->graph(0)->removeDataBefore(old_items_count);
custom_plot_->xAxis->setRange(key + some_delta, old_items_count, Qt::AlignRight);

变量 old_items_count = func1(time_period, frequency)some_delta = func2(time_period, frequency) 的公式是什么? 官方演示包含以下值:old_items_count = 8some_delta = 0.25

最佳答案

如果您的 xAxis 以秒为单位,为了获得 10 分钟(600 秒)的恒定范围,您需要按如下方式设置其范围:

custom_plot_->xAxis->setRange(key + some_delta, 600, Qt::AlignRight);

some_delta 的值由您决定。看看 QCPAxis Class Reference .

关于c++ - 实时 QCustomPlot 的设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36650092/

相关文章:

python - Matplotlib:Draggable 不适用于使用 twinx() 生成的多个图例

MATLAB - 如何一起缩放子图?

c++ - 警告 C4700 : uninitialized local variable

c++ - 测量函数在整个生命周期内在堆和堆栈上分配的总空间

c# - 使用命名管道将图像帧从 C++ 服务器发送到 C# 客户端

c++ - Q_ASSERT - "Incorrect format specifier"

c++ - 如何自动将qwidget保存为图像

c++ - Omnet++:作为复合模块的子模块调用时找不到类

c++ - 从以 QStringListModel 作为模型的 QListview 中删除单个项目

r - R中的2d颜色渐变图