我正在开发一种数据采集软件,该软件可以存储板载卡中的数据,并以生产者-消费者的方式连续地绘制数据。
我已经看起来像这样:
制片人:
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/