5.3.3 Метки осей

Команда MGL: adjust ['dir'='xyzc']
Метод класса mglGraph: void Adjust (const char *dir="xyzc")
Функция С: void mgl_adjust_ticks (HMGL gr, const char *dir)

Автоматически задает шаг меток осей, число подметок и начальное положение меток для осей координат dir в виде наиболее удобном для человека. Также задает SetTuneTicks(true). Обычно не требуется вызывать эту функцию кроме случая возвращения настроек по умолчанию.

Команда MGL: xtick val [sub=0 org=nan 'fact'='']
Команда MGL: ytick val [sub=0 org=nan 'fact'='']
Команда MGL: ztick val [sub=0 org=nan 'fact'='']
Команда MGL: xtick val sub ['fact'='']
Команда MGL: ytick val sub ['fact'='']
Команда MGL: ztick val sub ['fact'='']
Команда MGL: ctick val ['fact'='']
Метод класса mglGraph: void SetTicks (char dir, mreal d=0, int ns=0, mreal org=NAN, const char *fact="")
Метод класса mglGraph: void SetTicks (char dir, mreal d=0, int ns=0, mreal org=NAN, const wchar_t *fact)
Функция С: void mgl_set_ticks (HMGL gr, char dir, mreal d, int ns, mreal org)
Функция С: void mgl_set_ticks_fact (HMGL gr, char dir, mreal d, int ns, mreal org, const char *fact)
Функция С: void mgl_set_ticks_factw (HMGL gr, char dir, mreal d, int ns, mreal org, const wchar_t * fact)

Задает шаг меток осей d, число подметок ns и начальное положение меток org для оси вдоль направления dir (используйте ’c’ для меток colorbar). Переменная d задает шаг меток (если положительна) или их число на оси (если отрицательна). Нулевое значение задает автоматическую расстановку меток. Если org=NAN, то используется значение из переменной Org. Параметр fact задает текст, которые будет напечатан после метки оси (например, "\pi" для d=M_PI).

Команда MGL: xtick val1 'lbl1' [val2 'lbl2' ...]
Команда MGL: ytick val1 'lbl1' [val2 'lbl2' ...]
Команда MGL: ztick val1 'lbl1' [val2 'lbl2' ...]
Команда MGL: ctick val1 'lbl1' [val2 'lbl2' ...]
Команда MGL: xtick vdat 'lbls' [add=off]
Команда MGL: ytick vdat 'lbls' [add=off]
Команда MGL: ztick vdat 'lbls' [add=off]
Команда MGL: ctick vdat 'lbls' [add=off]
Метод класса mglGraph: void SetTicksVal (char dir, const char *lbl, bool add=false)
Метод класса mglGraph: void SetTicksVal (char dir, const wchar_t *lbl, bool add=false)
Метод класса mglGraph: void SetTicksVal (char dir, const mglDataA &val, const char *lbl, bool add=false)
Метод класса mglGraph: void SetTicksVal (char dir, const mglDataA &val, const wchar_t *lbl, bool add=false)
Функция С: void mgl_set_ticks_str (HMGL gr, char dir, const char *lbl, bool add)
Функция С: void mgl_set_ticks_wcs (HMGL gr, char dir, const wchar_t *lbl, bool add)
Функция С: void mgl_set_ticks_val (HMGL gr, char dir, HCDT val, const char *lbl, bool add)
Функция С: void mgl_set_ticks_valw (HMGL gr, char dir, HCDT val, const wchar_t *lbl, bool add)

Задает явное положение val и подписи lbl для меток вдоль оси dir. Если массив val не указан, то используются значения равно распределённые в диапазоне осей координат. Метки разделяются символом ‘\n’. Если в команде MGL задано только одно значение, то метка будет добавлена к существующим меткам. Используйте SetTicks() для восстановления автоматических меток.

Метод класса mglGraph: void AddTick (char dir, double val, const char *lbl)
Метод класса mglGraph: void AddTick (char dir, double val, const wchar_t *lbl)
Функция С: void mgl_add_tick (HMGL gr, char dir, double val, const char *lbl)
Функция С: void mgl_set_tickw (HMGL gr, char dir, double val, const wchar_t *lbl)

Аналогично предыдущему, но добавляет одну метку оси к списку существующих меток.

Команда MGL: xtick 'templ'
Команда MGL: ytick 'templ'
Команда MGL: ztick 'templ'
Команда MGL: ctick 'templ'
Метод класса mglGraph: void SetTickTempl (char dir, const char *templ)
Метод класса mglGraph: void SetTickTempl (char dir, const wchar_t *templ)
Функция С: void mgl_set_tick_templ (HMGL gr, const char *templ)
Функция С: void mgl_set_tick_templw (HMGL gr, const wchar_t *templ)

Задает шаблон templ для меток вдоль x-,y-,z-оси или colorbar. Шаблон может содержать и символы TeX. Если templ="", то используется шаблон по умолчанию (в простейшем случае ‘%.2g’). Если шаблон начинается с символа ‘&’, то будет использовано целое long вместо типа double. Установка шаблона выключает автоматическое улучшение вида меток.

Команда MGL: ticktime 'dir' [dv=0 'tmpl'='']
Метод класса mglGraph: void SetTicksTime (char dir, mreal val, const char *templ)
Функция С: void mgl_set_ticks_time (HMGL gr, mreal val, const char *templ)

Задает метки времени с шагом val и шаблоном templ для меток вдоль x-,y-,z-оси или colorbar. Шаблон может содержать и символы TeX. Формат шаблона templ такой же как http://www.manpagez.com/man/3/strftime/. Наиболее употребительные варианты: ‘%X’ для национального представления времени, ‘%x’ для национального представления даты, ‘%Y’ для года с цифрами столетия. Если val=0 и/или templ="", то используется автоматическая расстановка меток и/или выбор шаблона. Вы можете использовать функцию mgl_get_time() для получения числа секунд с 1970 года до указанной даты/времени. Отмечу, что MS Visual Studio не может обрабатывать даты до 1970.

Функция С: double mgl_get_time (const char*str, const char *templ)

Возвращает число секунд с 1970 года до даты/времени, указанной в строке str. Формат строки задается templ, такой же как http://www.manpagez.com/man/3/strftime/. Наиболее употребительные варианты: ‘%X’ для национального представления времени, ‘%x’ для национального представления даты, ‘%Y’ для года с цифрами столетия. Отмечу, что MS Visual Studio не может обрабатывать даты до 1970.

Команда MGL: tuneticks val [pos=1.15]
Метод класса mglGraph: void SetTuneTicks (int tune, mreal pos=1.15)
Функция С: void mgl_tune_ticks (HMGL gr, int tune, mreal pos)

Включает/выключает улучшение вида меток осей путем вынесения общего множителя (для маленьких, типа 0.001...0.002, или больших, типа 1000...2000, значений координат) или общей компоненты (для узкого диапазона, типа 0.999...1.000). Также задает положение pos общего множителя на оси: =0 около минимального значения, =1 около максимального значения.

Команда MGL: tickshift dx [dy=0 dz=0 dc=0]
Метод класса mglGraph: void SetTickShift (mglPoint d)
Функция С: void mgl_set_tick_shift (HMGL gr, mreal dx, mreal dy, mreal dz, mreal dc)

Задает значение дополнительного сдвига меток осей координат.

Метод класса mglGraph: void SetTickRotate (bool val)
Функция С: void mgl_set_tick_rotate (HMGL gr, bool val)

Включает/выключает поворот меток если их число или длина меток слишком велики.

Метод класса mglGraph: void SetTickSkip (bool val)
Функция С: void mgl_set_tick_skip (HMGL gr, bool val)

Включает/выключает пропуск меток если их число или длина меток слишком велики.

Метод класса mglGraph: void SetTimeUTC (bool val)

Разрешает/запрещает использование UTC времени в метках осей координат. В C/Fortran следует использовать mgl_set_flag(gr,val, MGL_USE_GMTIME);.

Команда MGL: origintick val
Метод класса mglGraph: void SetOriginTick (bool val=true)

Разрешает/запрещает рисование меток в точке пересечения осей координат. В C/Fortran следует использовать mgl_set_flag(gr,val, MGL_NO_ORIGIN);.

Команда MGL: ticklen val [stt=1]
Метод класса mglGraph: void SetTickLen (mreal val, mreal stt=1)
Функция С: void mgl_set_tick_len (HMGL gr, mreal val, mreal stt)

Задает относительную длину меток осей координат. Значение по умолчанию 0.1. Параметр stt>0 задает относительную длину подметок, которые в sqrt(1+stt) раз меньше.

Команда MGL: axisstl 'stl' ['tck'='' 'sub'='']
Метод класса mglGraph: void SetAxisStl (const char *stl="k", const char *tck=0, const char *sub=0)
Функция С: void mgl_set_axis_stl (HMGL gr, const char *stl, const char *tck, const char *sub)

Задает стиль осей (stl), меток (tck) и подметок (sub) осей координат. Если stl пустая или ноль, то используется стиль по умолчанию (‘k’ или ‘w’ в зависимости от типа прозрачности). Если tck, sub пустая или ноль, то используется стиль осей (т.е. stl).