我正在开发一种数据采集软件,该软件可以存储板载卡中的数据,并以生产者-消费者的方式连续地绘制数据。

我已经看起来像这样:

制片人:

while(true){
    acquire(data);
    signal_consumer();
}


消费者:

while(true){
    wait_producer();
    data2file();
}


data是一个包含1秒的数组。的获取。

我现在要添加的是另一个使用者,该使用者执行一些过滤器(可能是fft),并在每次采集时更新颜色图(每个过滤的数据数组将是颜色图的一行)。

我已经阅读了一些绘图库,并决定使用qwt。我查看了示例(实时图和频谱图),但我无法掌握其工作方式以及如何绘制已过滤的数据数组。

我在为工作使用正确的工具吗?有没有办法为qwt使用c ++数组?如果是,怎么办?

最佳答案

有很多工具可以解决此问题,根据您所描述的,qwt绝对是不错的选择。是的,您可以在qwt中使用向量(您正在调用c ++数组)。这是一个例子:

 QwtPlot plot;
 // ... setup plot to taste ...
 std::vector<double> x;
 std::vector<double> y;
 x.push_back(0.0);
 x.push_back(1.0);
 x.push_back(2.0);
 y.push_back(0.0);
 y.push_back(2.0);
 y.push_back(4.0);
 QwtPlotCurve curve("Plot");
 curve.setSamples(&x[0], &y[0], (int)x.size());
 curve.attach(&plot);


http://qwt.sourceforge.net/class_qwt_plot.html

http://qwt.sourceforge.net/class_qwt_plot_curve.html

关于c++ - 来自C++数组的实时颜色图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33109426/

10-09 06:36