Вопрос

Каков наилучший способ построения точечных графиков на C ++?

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

Это было полезно?

Решение

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

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

plot "data.txt" using 1:2 

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

Если вы занимаетесь наукой, то изучение gnuplot будет для вас очень полезным. Это наверняка лишает нас возможности создавать графики Excel и облегчает задачу создания графиков для включения в документы.

Другие советы

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

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

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 является бесплатным для некоммерческого использования.

Очень тяжелое решение:вы могли бы сослаться на КОРЕНЬ, который будет делать практически все, что вы захотите:

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

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

Старый добрый GNU, у них есть все ...

http://directory.fsf.org/project/plotutils/

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

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

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

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

  1. Скачать zip-архив "gp443win32.zip" от http://sourceforge.jp/projects/sfnet_gnuplot/downloads/gnuplot/4.4.3/gp443win32.zip/

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

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

  4. Добавьте к переменной среды "Path" путь к двоичной папке, который равен "C:\Gnuplot\gnuplot\binary".

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top