Я пытаюсь использовать интерфейс канала для gnuplot (стандартный gnuplot_i. {cpp, hpp}) для генерации отображения в режиме реального времени значений, которые постоянно изменяются в рамках другой программы, записанной в C++. Это работает хорошо, но я хотел видеть, были ли у кого-либо какие-либо предложения для улучшения.
Эта реализация содержит удобный метод вывести на печать единственный вектор и 2 вектора как 2D график. Это достигло, это путем выписывания во временный файл через стандартную библиотеку звонит в функцию mktemp и затем использования, которые, как введено к gnuplot выводят вызов на печать. Это генерировало слишком много временных файлов и, казалось, не работало хорошо, когда частота обновления на графике высока (возможно, IO, ограниченный в точке). Я решил использовать '-' псевдо файл в графике, называют и просто отправляют векторы непосредственно в канал (законченный одной строкой с "e" на нем). Это работает лучше, но все еще не является большим.
Существует ли дождевик способ сделать то, что я пытаюсь сделать, чем постоянно повторно создать график, когда значения изменились? Как часто безопасно обновить график с новой информацией? С другой стороны, возможно, существует намного более простой способ достигнуть того, что я пытаюсь сделать?
У меня нет "требований" по сути. То, что я подразумевал под пленкой, было то, что, возможно, был более изящный подход к выполнению, чего я делал попытку при тихом использовании gnuplot. Хотя изящный субъективно, я нахожу подход, который я в настоящее время проявляю особенно неэлегантный. То, под чем я подразумевал безопасный, было, знал ли кто-либо в какой частота обновления, там будут проблемы IO (например, задержка, тупик дисплея, и т.д.) с упомянутым подходом.
Я хотел бы избегать использования инструментария по следующим причинам (мой шорт-лист, по крайней мере).
Однако, если у Вас есть какие-либо конкретные предложения с точки зрения библиотек графического изображения C/C++, которые походят на хорошую подгонку, данную вышеупомянутый список, я всегда интересуюсь предложениями (предупреждение: Я уже осмотрел хороший бит для нахождения их).
Slicker? Безопасно? Можете ли вы уточнить свои требования?
Похоже, что вы пытаетесь сделать анимированную визуализацию с помощью инструмента, предназначенного для генерации статических изображений. Если ваш дисплей так прост, как вы говорите, почему бы не написать быстрое приложение с графическим интерфейсом (используя выбранный вами набор инструментов), чтобы вместо этого сделать чертеж?
.есть библиотека C2gnuplot, которую я написал несколько лет назад. Она очень проста, но может дать несколько советов. В основном она использует FIFO-файлы для передачи данных в Gnuplot и может генерировать анимацию из графиков. Здесь - видео, созданное с помощью приложения. Надеюсь, это будет вам полезно.