В данной главе рассмотрены базовые и продвинутые возможности MathGL, даны советы по использованию и примеры для всех типов графиков. Я рекомендую прочитать вначале первые 2 раздела и посмотреть на раздел Hints. Также рекомендую прочитать Основные принципы и FAQ.
Отмечу, что MathGL v.2.* имеет только пользовательских 2 интерфейса: один для языков подобных C или Fortran (не поддерживающих классы), другой для языков подобных C++/Python/Octave, которые поддерживают классы. При этом все классы являются "оберткой" С-ого интерфейсы, а функции-члены классов – inline вызовами функций С. Поэтому, в большинстве примеров в этой главе я буду приводить только один вариант кода, который после минимальных изменений синтаксиса может быть применен для других языков. Например, код на языке C++
#include <mgl2/mgl.h> int main() { mglGraph gr; gr.FPlot("sin(pi*x)"); gr.WriteFrame("test.png"); }
на Python будет выглядеть как
from mathgl import * gr = mglGraph(); gr.FPlot("sin(pi*x)"); gr.WriteFrame("test.png");
в Octave он будет почти тем же (в новых версиях надо предварительно выполнить mathgl;
)
gr = mglGraph(); gr.FPlot("sin(pi*x)"); gr.WriteFrame("test.png");
в C необходимо будет найти С-ые аналоги функций (из документации) и указать все их аргументы явно
#include <mgl2/mgl_cf.h> int main() { HMGL gr = mgl_create_graph(600,400); mgl_fplot(gr,"sin(pi*x)","",""); mgl_write_frame(gr,"test.png",""); mgl_delete_graph(gr); }
в Fortran помимо этого придется определить функции возвращающие указатели на объекты как функции возвращающие целое
integer gr, mgl_create_graph gr = mgl_create_graph(600,400); call mgl_fplot(gr,'sin(pi*x)','',''); call mgl_write_frame(gr,'test.png',''); call mgl_delete_graph(gr);
и т.д.