Каков наилучший способ рисовать графики на С++?
Вы записываете данные в файл и используете другой инструмент? Есть ли библиотека, подобная matplotlib в Python?
Каков наилучший способ рисовать графики на С++?
Вы записываете данные в файл и используете другой инструмент? Есть ли библиотека, подобная matplotlib в Python?
Я всегда выписываю данные, а затем gnuplot для создания моих графиков. Это, безусловно, лучший способ создания графиков в различных форматах: eps, png, jpeg, xpm, вы называете его.
gnuplot
будет очень легко рассеивать график. Если значения x
и y
находятся в 2 разделенных пробелами столбцах, то
plot "data.txt" using 1:2
Дает вам быстрый участок разброса. Затем вы можете настроить его и не использовать другие команды gnuplot.
Если вы участвуете в науках, обучение gnuplot
будет очень ценным для вас. Он отлично справляется со своими делами, и это облегчает задачу включения сюжетов в документы.
Если вы ищете библиотеку С++, а не независимый инструмент построения графиков, например 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 бесплатное для некоммерческого использования.
Очень тяжелое решение: вы можете ссылаться на ROOT, который будет делать что угодно:
Конечно, это немного для большинства людей, но он делает именно то, что вы просили. Я использую его, потому что знаю это, и он уже на моих машинах, потому что я такой физик.
Это, конечно, не самый лучший способ, но я обычно пишу выходные файлы, которые можно читать R и использовать это вместе с соответствующий script, для построения графиков.
Хороший старый GNU, у них есть все...
Проблема здесь в том, что С++, в отличие от Java, например, не имеет встроенного графического интерфейса или графики. Если вы хотите генерировать графики с С++, вам нужно будет использовать графическую библиотеку, доступную для вашей ОС. Существуют бесплатные библиотеки графического интерфейса, многие кросс-формы, такие как Qt или GTK.
Однако, как указывали другие люди, проще всего было бы сохранить данные в текстовом файле и использовать другую программу для генерации графика. gnuplot определенно является хорошим выбором. Он поставляется с большинством дистрибутивов Linux, и вы получаете для Windows под cygwin.
Если вы знакомы с matplotlib, вы можете embed python в приложениях C/С++. В зависимости от того, для чего вы хотите, это может быть быстрым решением.
С уважением заговорив на С++ для тех, кто этого еще не делал. Я скажу, что я сделал для построения графиков в С++
Загрузите 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".
Вы получите много и много графиков, выберите подходящий график, настройте свое ядро и наслаждайтесь:)
Chart Director имеет привязки для С++. Я использовал их библиотеки .Net, и я был им очень доволен. Это довольно дешевая библиотека и дает вам возможность делать всевозможные графики.