Как построить вывод из консольного приложения C ++ Win32? - PullRequest
1 голос
/ 15 мая 2009

У меня есть небольшое консольное приложение Win32, которое по сути является тестовым комплектом. Я читаю данные, выполняю некоторую обработку и в настоящее время просто выводю некоторые числа на консоль. Это не огромная проблема - я могу получить представление о том, как выглядят данные, но было бы намного легче проанализировать, если бы был способ переноса этой информации в график для каждого запуска программного обеспечения.

Я недавно освоился с GNUPlot, но не могу найти простой способ получения данных, отправляемых на него. Кто-нибудь пробовал это? ... или есть другое графическое приложение, которое я должен попробовать?

Excel и OO Calc - отличные инструменты, и я загружал в них данные .csv для многократного построения графиков. Однако я надеялся на способ динамической передачи данных в графическое приложение, чтобы избежать необходимости закрывать / открывать Excel и строить график каждый раз, когда я хочу просмотреть некоторые данные.

Я думаю, что вы можете передавать данные в GNUPlot (именно поэтому я упомянул об этом), но детали того, как это сделать, довольно скудны.

Ответы [ 7 ]

5 голосов
/ 15 мая 2009

Простой подход состоит в том, чтобы объединить данные в формате CSV и затем импортировать их в электронную таблицу, такую ​​как Excel или OpenOffice, для рисования графика.

Редактировать: После вашего вопроса я сам заинтересовался GNUPlot - это простейшее описание его использования из командной строки, которое я нашел: http://www.goldb.org/goldblog/CommentView,guid,f378e279-eaa5-4d85-b7d2-0339a7c72864.aspx

3 голосов
/ 15 мая 2009

Никогда не стоит недооценивать силу Excel и дампа данных .csv.

Запись данных в файл формата .csv C ++ не очень сложна, и есть множество статей по этому вопросу, например: здесь или просто Google.

Excel может легко загрузить .csv, а затем вы можете просто использовать это для построения графиков, которые вам нужны. Это особенно полезно, если вы просто хотите быстро проверить правильность результатов и т. Д.

1 голос
/ 15 мая 2009

Вам не нужно прикасаться к VBA, чтобы сделать это

В Excel вы можете установить соединение данных с файлом, он поддерживает много типов файлов, но CSV работает нормально.

  • Перейти к элементу списка
  • Вкладка данных
  • Нажмите Подключения
  • Нажмите Добавить
  • выберите файл
  • перейти к свойствам соединения - снимите флажок для имени файла
  • установить требуемый период.
  • закрыть диалог подключений
  • выберите начальную ячейку для импорта данных - ячейка 1a на листе 2
  • нажмите существующие соединения
  • выберите подключение для передачи данных
  • Перевернуть на рабочий лист1 добавить диаграмму и подключить данные.

график теперь будет обновляться автоматически

это Excel 2007 - но думаю, что более старая версия имела это, и я думаю, что ОО может сделать это.

1 голос
/ 15 мая 2009

Вы также можете захотеть взглянуть на XMGrace , который позволяет вам запускать его и управлять им напрямую из программ на C / Fortran, как показано здесь

0 голосов
/ 26 января 2011

Вы можете использовать MathGL - он может создавать окно (FLTK, GLUT или Qt) и отображать график внутри. Также он имеет большой набор типов графиков и может работать в консоли.

0 голосов
/ 15 мая 2009

Excel полностью поддерживает сценарии. Используйте макро-рекордер, чтобы выяснить шаги. Создайте диаграмму на собственном листе. Затем сохраните диаграмму, используя фильтр GIF.

Фактический импорт выглядит примерно так:

ActiveChart.Export FileName: =thing_dot_gif, FilterName: = "GIF"

0 голосов
/ 15 мая 2009

Я только что нашел пример передачи данных в gnuplot на сайте Университета Кардиффа. Еще не пробовал, но выглядит многообещающе!

[править] ..и еще один, который включает некоторые заметки для windows .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...