Подтвердить что ты не робот

Границы рассеяния в С++

Каков наилучший способ рисовать графики на С++?

Вы записываете данные в файл и используете другой инструмент? Есть ли библиотека, подобная matplotlib в Python?

4b9b3361

Ответ 1

Я всегда выписываю данные, а затем gnuplot для создания моих графиков. Это, безусловно, лучший способ создания графиков в различных форматах: eps, png, jpeg, xpm, вы называете его.

gnuplot будет очень легко рассеивать график. Если значения x и y находятся в 2 разделенных пробелами столбцах, то

plot "data.txt" using 1:2 

Дает вам быстрый участок разброса. Затем вы можете настроить его и не использовать другие команды gnuplot.

Если вы участвуете в науках, обучение gnuplot будет очень ценным для вас. Он отлично справляется со своими делами, и это облегчает задачу включения сюжетов в документы.

Ответ 2

Если вы ищете библиотеку С++, а не независимый инструмент построения графиков, например gnuplot, я бы рассмотрел следующее:

dislin кажется более интересным из двух. Вот описание, извлеченное из статьи википедии:

DISLIN - это высокоуровневая и простая в использовании графическая библиотека, разработанная Хельмутом Михельсом в Институте Макса Планка в Катленбурге-Линдау, Германия. Хельмут Михельс в настоящее время работает математиком и системным менеджером Unix в компьютерном центре института.

Библиотека DISLIN содержит подпрограммы и функции для отображения данных в виде кривых, гистограмм, круговых диаграмм, 3D-цветных графиков, поверхностей, контуров и карт. Поддерживается несколько форматов вывода, таких как X11, VGA, PostScript, PDF, CGM, HPGL, SVG, PNG, BMP, PPM, GIF и TIFF.

DISLIN доступен для языков программирования Fortran 77, Fortran 90/95 и C. Расширения для языков Perl, Python и Java также поддерживаются для большинства операционных систем. Текущая версия DISLIN - 9,4, выпущенная в октябре 2008 года. Первая версия 1.0 была выпущена в декабре 1986 года.

Программное обеспечение DISLIN бесплатное для некоммерческого использования.

Ответ 3

Очень тяжелое решение: вы можете ссылаться на ROOT, который будет делать что угодно:

  • работает на Mac, Windows и Linux.
  • выполняется компиляция или использование интерконтера cint
  • вывод в файл в инкапсулированных postscript, PDF, gif, png...
  • отображение на экране с использованием нескольких различных технологий.
  • сериализовать данные во внутреннем формате, с которыми можно впоследствии управлять

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

Ответ 4

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

Ответ 6

Проблема здесь в том, что С++, в отличие от Java, например, не имеет встроенного графического интерфейса или графики. Если вы хотите генерировать графики с С++, вам нужно будет использовать графическую библиотеку, доступную для вашей ОС. Существуют бесплатные библиотеки графического интерфейса, многие кросс-формы, такие как Qt или GTK.

Однако, как указывали другие люди, проще всего было бы сохранить данные в текстовом файле и использовать другую программу для генерации графика. gnuplot определенно является хорошим выбором. Он поставляется с большинством дистрибутивов Linux, и вы получаете для Windows под cygwin.

Ответ 7

Если вы знакомы с matplotlib, вы можете embed python в приложениях C/С++. В зависимости от того, для чего вы хотите, это может быть быстрым решением.

Ответ 8

С уважением заговорив на С++ для тех, кто этого еще не делал. Я скажу, что я сделал для построения графиков в С++

  • Загрузите zip файл "gp443win32.zip" из http://sourceforge.jp/projects/sfnet_gnuplot/downloads/gnuplot/4.4.3/gp443win32.zip/

  • Извлеките его в "C:\Gnuplot" затем я прочитал "C:\Gnuplot\gnuplot\README.Windows" и я получил эту информацию:

  • Я использовал Windows 7 == > , поэтому вам нужно скачать "winhlp32.exe"... просто найдите его "winhlp32.exe Windows 7" в поисковой системе и пройдите по первой ссылке.

  • Добавить в переменную окружения "Путь" путь к двоичной папке, которая является "C:\Gnuplot\gnuplot\binary"

  • затем я выключу свой компьютер и снова открою его. После того, как я обнаружил, что он не ощутил изменения в переменных среды: D

  • вам нужно написать пример кода, чтобы проверить ваши возможности построения графика:) поэтому вы можете посетить эту ссылку http://code.google.com/p/gnuplot-cpp/source/browse/#svn%2Ftrunk для просмотра файла заголовка "gnuplot_i.hpp" и исходного файла "example.cc".

Вы получите много и много графиков, выберите подходящий график, настройте свое ядро ​​и наслаждайтесь:)

Ответ 9

Chart Director имеет привязки для С++. Я использовал их библиотеки .Net, и я был им очень доволен. Это довольно дешевая библиотека и дает вам возможность делать всевозможные графики.