Я пытаюсь визуализировать данные датчика в режиме реального времени, используя C ++. Выходной сигнал датчика составляет до 1 кГц, но gnuplot отображает данные только на частоте около 10 Гц.
Я использую gnuplot-iostream (http://stahlke.org/dan/gnuplot-iostream/) для передачи данных в gnuplot из моего сценария C ++, который прост и удобен. Но похоже, что процесс построения графика идет медленно и занимает 1/10 от секунда для обновления сюжета. Есть ли способ увеличить эту частоту?
EDIT:
Вот пример простого кода
#include <vector>
#include <utility>
#include <gnuplot-iostream/gnuplot-iostream.h>
typedef std::pair<double, double> Point;
int main() {
std::vector<Point> data;
double x = 0.0;
double y = 0.0;
double c = 0.0;
Gnuplot gp;
gp << "set terminal wxt size 800, 400\n";
while (x < 10000) {
x += 0.01;
y = sin(x);
c += 0.01;
data.push_back(Point(x,y));
//std::cout << x << std::endl;
if (c > 0.1) {
gp << "plot '-' with lines title 'sin(x)'\n";
gp.send1d(data);
c = 0.0;
}
}
return 0;
}