Next: , Previous: Введение в пакет draw, Up: Пакет draw   [Contents][Index]

46.2 Функции и переменные пакета draw

Графическая опция: xrange

Значение по умолчанию: auto

Если xrange равно auto, то диапазон координаты x вычисляется автоматически.

Если требуется определенный интервал x, он должен быть задан в форме списка, например xrange=[-2, 3].

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Пример:

(%i1) load("draw")$
(%i2) draw2d(xrange = [-3,5],
             explicit(x^2,x,-1,1))$

См. yrange и zrange.

Графическая опция: yrange

Значение по умолчанию: auto

Если yrange равно auto, то диапазон координаты y вычисляется автоматически.

Если требуется определенный интервал y, он должен быть задан в форме списка, например yrange=[-2, 3].

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Пример:

(%i1) load("draw")$
(%i2) draw2d(yrange = [-2,3],
             explicit(x^2,x,-1,1),
             xrange = [-3,3])$

См. xrange и zrange.

Графическая опция: zrange

Значение по умолчанию: auto

Если zrange равно auto, то диапазон координаты z вычисляется автоматически.

Если требуется определенный интервал z, он должен быть задан в форме списка, например zrange=[-2, 3].

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Пример:

(%i1) load("draw")$
(%i2) draw3d(yrange = [-3,3],
             zrange = [-2,5],
             explicit(x^2+y^2,x,-1,1,y,-1,1),
             xrange = [-3,3])$

См. xrange и yrange.

Графическая опция: logx

Значение по умолчанию: false

Если logx равно true, то ось x будет изображаться в логарифмической шкале.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Пример:

(%i1) load("draw")$
(%i2) draw2d(explicit(log(x),x,0.01,5),
             logx = true)$

См. logy и logz.

Графическая опция: logy

Значение по умолчанию: false

Если logy равно true, то ось y будет изображаться в логарифмической шкале.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Пример:

(%i1) load("draw")$
(%i2) draw2d(logy = true,
             explicit(exp(x),x,0,5))$

См. logx и logz.

Графическая опция: logz

Значение по умолчанию: false

Если logz равно true, то ось z будет изображаться в логарифмической шкале.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Пример:

(%i1) load("draw")$
(%i2) draw3d(logz = true,
             explicit(exp(u^2+v^2),u,-2,2,v,-2,2))$

См. logx и logy.

Графическая опция: terminal

Значение по умолчанию: screen

Выбирает терминал, используемый программой Gnuplot. Возможные значения: screen (умолчание), png, jpg, eps, eps_color, gif, animated_gif и wxt.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения. Она также может использоваться как аргумент функции draw.

Примеры:

(%i1) load("draw")$
(%i2) /* screen terminal (default) */
      draw2d(explicit(x^2,x,-1,1))$
(%i3) /* png file */
      draw2d(terminal  = 'png,
             pic_width = 300,
             explicit(x^2,x,-1,1))$
(%i4) /* jpg file */
      draw2d(terminal   = 'jpg,
             pic_width  = 300,
             pic_height = 300,
             explicit(x^2,x,-1,1))$
(%i5) /* eps file */
      draw2d(file_name = "myfile",
             explicit(x^2,x,-1,1),
             terminal  = 'eps)$
(%i6) /* wxwidgets window */
      draw2d(explicit(x^2,x,-1,1),
             terminal  = 'wxt)$

Файл анимированного gif:

(%i1) load("draw")$
(%i2) draw(
        delay     = 100,
        file_name = "zzz",
        terminal  = 'animated_gif,
        gr2d(explicit(x^2,x,-1,1)),
        gr2d(explicit(x^3,x,-1,1)),
        gr2d(explicit(x^4,x,-1,1)));
End of animation sequence
(%o2)          [gr2d(explicit), gr2d(explicit), gr2d(explicit)]

Опция delay возможна тоько для анимированного gif. В других случаях она игнорируется.

См. file_name, pic_width, pic_height и delay.

Графическая опция: grid

Значение по умолчанию: false

Если grid равно true, то на плоскости xy будет изображена сетка.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Пример:

(%i1) load("draw")$
(%i2) draw2d(grid = true,
             explicit(exp(u),u,-2,2))$
Графическая опция: title

Значение по умолчанию: "" (пустая строка)

Опция title – строка, содержащая основной заголовок сцены. По умолчанию заголовок отсутствует.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Пример:

(%i1) load("draw")$
(%i2) draw2d(explicit(exp(u),u,-2,2),
             title = "Exponential function")$
Графическая опция: xlabel

Значение по умолчанию: "" (пустая строка)

Опция xlabel – строка, содержащая метку для оси x. По умолчанию метка отсутствует.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Пример:

(%i1) load("draw")$
(%i2) draw2d(xlabel = "Time",
             explicit(exp(u),u,-2,2),
             ylabel = "Population")$

См. ylabel и zlabel.

Графическая опция: ylabel

Значение по умолчанию: "" (пустая строка)

Опция ylabel – строка, содержащая метку для оси y. По умолчанию метка отсутствует.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Пример:

(%i1) load("draw")$
(%i2) draw2d(xlabel = "Time",
             ylabel = "Population",
             explicit(exp(u),u,-2,2) )$

См. xlabel и zlabel.

Графическая опция: zlabel

Значение по умолчанию: "" (пустая строка)

Опция zlabel – строка, содержащая метку для оси z. По умолчанию метка отсутствует.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Пример:

(%i1) load("draw")$
(%i2) draw3d(zlabel = "Z variable",
             ylabel = "Y variable",
             explicit(sin(x^2+y^2),x,-2,2,y,-2,2),
             xlabel = "X variable" )$

См. xlabel и ylabel.

Графическая опция: xtics

Значение по умолчанию: auto

Управляет методом изображения делений на оси x.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Примеры:

Деления отключены.

(%i1) load("draw")$
(%i2) draw2d(xtics = 'none,
             explicit(x^3,x,-1,1)  )$

Деления на каждой 1/4.

(%i1) load("draw")$
(%i2) draw2d(xtics = 1/4,
             explicit(x^3,x,-1,1)  )$

Деления на значениях от -3/4 до 3/4 с шагом 1/8.

(%i1) load("draw")$
(%i2) draw2d(xtics = [-3/4,1/8,3/4],
             explicit(x^3,x,-1,1)  )$

Деления в точках -1/2, -1/4 и 3/4.

(%i1) load("draw")$
(%i2) draw2d(xtics = {-1/2,-1/4,3/4},
             explicit(x^3,x,-1,1)  )$

Деления с метками.

(%i1) load("draw")$
(%i2) draw2d(xtics = {["High",0.75],["Medium",0],["Low",-0.75]},
             explicit(x^3,x,-1,1)  )$

См. ytics и ztics.

Графическая опция: ytics

Значение по умолчанию: auto

Управляет методом изображения делений на оси y.

См. xtics для полного описания.

Графическая опция: ztics

Значение по умолчанию: auto

Управляет методом изображения делений на оси z.

См. xtics для полного описания.

Графическая опция: xtics_rotate

Значение по умолчанию: false

Если xtics_rotate равно true, то деления на оси x поворачиваются на 90 градусов.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Графическая опция: ytics_rotate

Значение по умолчанию: false

Если ytics_rotate равно true, то деления на оси y поворачиваются на 90 градусов.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Графическая опция: ztics_rotate

Значение по умолчанию: false

Если ztics_rotate равно true, то деления на оси z поворачиваются на 90 градусов.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Графическая опция: xtics_axis

Значение по умолчанию: false

Если xtics_axis равно true, то деления и их метки изображаются вдоль оси x, если false, то деления изображаются на границе.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Графическая опция: ytics_axis

Значение по умолчанию: false

Если ytics_axis равно true, то деления и их метки изображаются вдоль оси y, если false, то деления изображаются на границе.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Графическая опция: ztics_axis

Значение по умолчанию: false

Если ztics_axis равно true, то деления и их метки изображаются вдоль оси z, если false, то деления изображаются на границе.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Графическая опция: xaxis

Значение по умолчанию: false

Если xaxis равно true, то ось x изображается.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Пример:

(%i1) load("draw")$
(%i2) draw2d(explicit(x^3,x,-1,1),
             xaxis       = true,
             xaxis_color = blue)$

См. xaxis_width, xaxis_type и xaxis_color.

Графическая опция: xaxis_width

Значение по умолчанию: 1

xaxis_width – толщина оси x. Значение должно быть положительным числом.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Пример:

(%i1) load("draw")$
(%i2) draw2d(explicit(x^3,x,-1,1),
             xaxis       = true,
             xaxis_width = 3)$

См. xaxis, xaxis_type и xaxis_color.

Графическая опция: xaxis_type

Значение по умолчанию: dots

xaxis_type – задает стиль изображения оси x. Возможные значения: solid и dots.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Пример:

(%i1) load("draw")$
(%i2) draw2d(explicit(x^3,x,-1,1),
             xaxis       = true,
             xaxis_type  = solid)$

См. xaxis, xaxis_width и xaxis_color.

Графическая опция: xaxis_color

Значение по умолчанию: "black"

xaxis_color – определяет цвет оси x axis. См. color для способа задания цвета.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Пример:

(%i1) load("draw")$
(%i2) draw2d(explicit(x^3,x,-1,1),
             xaxis       = true,
             xaxis_color = red)$

См. xaxis, xaxis_width и xaxis_type.

Графическая опция: yaxis

Значение по умолчанию: false

Если yaxis равно true, то ось y изображается.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Пример:

(%i1) load("draw")$
(%i2) draw2d(explicit(x^3,x,-1,1),
             yaxis       = true,
             yaxis_color = blue)$

См. yaxis_width, yaxis_type и yaxis_color.

Графическая опция: yaxis_width

Значение по умолчанию: 1

yaxis_width – толщина оси y. Значение должно быть положительным числом.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Пример:

(%i1) load("draw")$
(%i2) draw2d(explicit(x^3,x,-1,1),
             yaxis       = true,
             yaxis_width = 3)$

См. yaxis, yaxis_type и yaxis_color.

Графическая опция: yaxis_type

Значение по умолчанию: dots

yaxis_type – задает стиль изображения y. Возможные значения: solid и dots.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Пример:

(%i1) load("draw")$
(%i2) draw2d(explicit(x^3,x,-1,1),
             yaxis       = true,
             yaxis_type  = solid)$

См. yaxis, yaxis_width и yaxis_color.

Графическая опция: yaxis_color

Значение по умолчанию: "black"

yaxis_color – определяет цвет оси y axis. См. color для способа задания цвета.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Пример:

(%i1) load("draw")$
(%i2) draw2d(explicit(x^3,x,-1,1),
             yaxis       = true,
             yaxis_color = red)$

См. yaxis, yaxis_width и yaxis_type.

Графическая опция: zaxis

Значение по умолчанию: false

Если zaxis равно true, то ось x изображается на трехмерных графиках. Эта опция не влияет на двумерные графики.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Пример:

(%i1) load("draw")$
(%i2) draw3d(explicit(x^2+y^2,x,-1,1,y,-1,1),
             zaxis       = true,
             zaxis_type  = solid,
             zaxis_color = blue)$

См. zaxis_width, zaxis_type и zaxis_color.

Графическая опция: zaxis_width

Значение по умолчанию: 1

zaxis_width – толщина оси z. Значение должно быть положительным числом. Эта опция не влияет на двумерные графики.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Пример:

(%i1) load("draw")$
(%i2) draw3d(explicit(x^2+y^2,x,-1,1,y,-1,1),
             zaxis       = true,
             zaxis_type  = solid,
             zaxis_width = 3)$

См. zaxis, zaxis_type и zaxis_color.

Графическая опция: zaxis_type

Значение по умолчанию: dots

zaxis_type – задает стиль изображения оси z. Возможные значения: solid и dots. Эта опция не влияет на двумерные графики.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Пример:

(%i1) load("draw")$
(%i2) draw3d(explicit(x^2+y^2,x,-1,1,y,-1,1),
             zaxis       = true,
             zaxis_type  = solid)$

См. zaxis, zaxis_width и zaxis_color.

Графическая опция: zaxis_color

Значение по умолчанию: "black"

zaxis_color – определяет цвет оси z axis. См. color для способа задания цвета. Эта опция не влияет на двумерные графики.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Пример:

(%i1) load("draw")$
(%i2) draw3d(explicit(x^2+y^2,x,-1,1,y,-1,1),
             zaxis       = true,
             zaxis_type  = solid,
             zaxis_color = red)$

См. zaxis, zaxis_width и zaxis_type.

Графическая опция: rot_vertical

Значение по умолчанию: 60

rot_vertical – угол поворота (в градусах) вокруг оси x точки наблюдения в трехмерных сценах.

Угол может быть в интервале [0, 180].

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Пример:

(%i1) load("draw")$
(%i2) draw3d(rot_vertical = 170,
             explicit(sin(x^2+y^2),x,-2,2,y,-2,2) )$

См. rot_horizontal.

Графическая опция: rot_horizontal

Значение по умолчанию: 30

rot_horizontal – угол поворота (в градусах) вокруг оси z точки наблюдения в трехмерных сценах.

Угол может быть в интервале [0, 360].

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Пример:

(%i1) load("draw")$
(%i2) draw3d(rot_vertical = 170,
             rot_horizontal = 360,
             explicit(sin(x^2+y^2),x,-2,2,y,-2,2) )$

См. rot_vertical.

Графическая опция: xy_file

Значение по умолчанию: "" (пустая строка)

xy_file – имя файла, в котором будут сохранены координаты после щелчка мышкой и нажатия клавиши ’x’. По умолчанию координаты не сохраняются.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Графическая опция: user_preamble

Значение по умолчанию: "" (пустая строка)

Опытные пользователи Gnuplot могут использовать эту опцию для тонкой настройке поведения Gnuplot путем задания установок до комманд plot или splot.

Значение этой опции должно быть строкой или списком строк (по одной на строку).

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Пример:

Терминал dumb не поддерживается пакетом draw, но можно задать его при помощи опции user_preamble,

(%i1) load("draw")$
(%i2) draw2d(explicit(exp(x)-1,x,-1,1),
             parametric(cos(u),sin(u),u,0,2*%pi),
             user_preamble="set terminal dumb")$
Графическая опция: file_name

Значение по умолчанию: "maxima_out"

Это имя файла, в котром терминалы png, jpg, eps и eps_color сохраняют графику.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения. Она также может использоваться как аргумент функции draw.

Пример:

(%i1) load("draw")$
(%i2) draw2d(file_name = "myfile",
             explicit(x^2,x,-1,1),
             terminal  = 'png)$

См. terminal, pic_width и pic_height.

Графическая опция: delay

Значение по умолчанию: 5

Это задержка в 1/100 секунды между кадрами анимированного gif.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения. Она также может использоваться как аргумент функции draw.

Пример:

(%i1) load("draw")$
(%i2) draw(
        delay     = 100,
        file_name = "zzz",
        terminal  = 'animated_gif,
        gr2d(explicit(x^2,x,-1,1)),
        gr2d(explicit(x^3,x,-1,1)),
        gr2d(explicit(x^4,x,-1,1)));
End of animation sequence
(%o2)          [gr2d(explicit), gr2d(explicit), gr2d(explicit)]

Опция delay применима только для анимированного gif. Для других случаев она игнорируется.

См. terminal, pic_width и pic_height.

Графическая опция: pic_width

Значение по умолчанию: 640

Это ширина изображения, создаваемого терминалами png и jpg.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения. Она также может использоваться как аргумент функции draw.

Пример:

(%i1) load("draw")$
(%i2) draw2d(terminal   = 'png,
             pic_width  = 300,
             pic_height = 300,
             explicit(x^2,x,-1,1))$

См. terminal, file_name и pic_height.

Графическая опция: pic_height

Значение по умолчанию: 640

Это высота изображения, создаваемого терминалами png и jpg.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения. Она также может использоваться как аргумент функции draw.

Пример:

(%i1) load("draw")$
(%i2) draw2d(terminal   = 'png,
             pic_width  = 300,
             pic_height = 300,
             explicit(x^2,x,-1,1))$

См. terminal, file_name и pic_width.

Графическая опция: eps_width

Значение по умолчанию: 12

Это ширина изображения Postscript (в сантиметрах), создаваемого терминалами eps и eps_color.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения. Она также может использоваться как аргумент функции draw.

Пример:

(%i1) load("draw")$
(%i2) draw2d(terminal   = 'eps,
             eps_width  = 3,
             eps_height = 3,
             explicit(x^2,x,-1,1))$

См. terminal, file_name и eps_height.

Графическая опция: eps_height

Значение по умолчанию: 8

Это высота изображения Postscript (в сантиметрах), создаваемого терминалами eps и eps_color.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения. Она также может использоваться как аргумент функции draw.

Пример:

(%i1) load("draw")$
(%i2) draw2d(terminal   = 'eps,
             eps_width  = 3,
             eps_height = 3,
             explicit(x^2,x,-1,1))$

См. terminal, file_name и eps_width.

Графическая опция: axis_bottom

Значение по умолчанию: true

Если axis_bottom равно true, то на двумерных сценах изображается нижняя ось.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Пример:

(%i1) load("draw")$
(%i2) draw2d(axis_bottom = false,
             explicit(x^3,x,-1,1))$

См. axis_left, axis_top, axis_right и axis_3d.

Графическая опция: axis_left

Значение по умолчанию: true

Если axis_left равно true, то на двумерных сценах изображается левая ось.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Пример:

(%i1) load("draw")$
(%i2) draw2d(axis_left = false,
             explicit(x^3,x,-1,1))$

См. axis_bottom, axis_top, axis_right и axis_3d.

Графическая опция: axis_top

Значение по умолчанию: true

Если axis_top равно true, то на двумерных сценах отображается верхняя ось.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Пример:

(%i1) load("draw")$
(%i2) draw2d(axis_top = false,
             explicit(x^3,x,-1,1))$

См. axis_bottom, axis_left, axis_right и axis_3d.

Графическая опция: axis_right

Значение по умолчанию: true

Если axis_right равно true, то на двумерных сценах отображается правая ось.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Пример:

(%i1) load("draw")$
(%i2) draw2d(axis_right = false,
             explicit(x^3,x,-1,1))$

См. axis_bottom, axis_left, axis_top и axis_3d.

Графическая опция: axis_3d

Значение по умолчанию: true

Если axis_3d равно true, то оси x, y и z изображаются на трехмерных сценах.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Пример:

(%i1) load("draw")$
(%i2) draw3d(axis_3d = false,
             explicit(sin(x^2+y^2),x,-2,2,y,-2,2) )$

См. axis_bottom, axis_left, axis_top и axis_right для двух измерений.

Графическая опция: palette

Значение по умолчанию: color

palette определяет, как отобразить реальные значения матрицы, передаваемые в объект image, в компоненты цвета.

palette – вектор тремя компонентами со значеним в пределах от -36 до +36. Каждое значение является индексом для формулы, отображающей уровни в красный, зеленый и синий цвета соответственно:

 0: 0               1: 0.5           2: 1
 3: x               4: x^2           5: x^3
 6: x^4             7: sqrt(x)       8: sqrt(sqrt(x))
 9: sin(90x)       10: cos(90x)     11: |x-0.5|
12: (2x-1)^2       13: sin(180x)    14: |cos(180x)|
15: sin(360x)      16: cos(360x)    17: |sin(360x)|
18: |cos(360x)|    19: |sin(720x)|  20: |cos(720x)|
21: 3x             22: 3x-1         23: 3x-2
24: |3x-1|         25: |3x-2|       26: (3x-1)/2
27: (3x-2)/2       28: |(3x-1)/2|   29: |(3x-2)/2|
30: x/0.32-0.78125 31: 2*x-0.84     32: 4x;1;-2x+1.84;x/0.08-11.5
33: |2*x - 0.5|    34: 2*x          35: 2*x - 0.5
36: 2*x - 1

Отрицательные числа означают отрицательные цветовые компоненты.

palette = gray и palette = color являются сокращениями для palette = [3,3,3] и palette = [7,5,15] соответственно.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Примеры:

(%i1) load("draw")$
(%i2) im: apply(
           'matrix,
            makelist(makelist(random(200),i,1,30),i,1,30))$
(%i3) /* palette = color, default */
      draw2d(image(im,0,0,30,30))$
(%i4) draw2d(palette = gray, image(im,0,0,30,30))$
(%i5) draw2d(palette = [15,20,-4],
             colorbox=false,
             image(im,0,0,30,30))$

См. colorbox.

Графическая опция: colorbox

Значение по умолчанию: true

Если colorbox равно true, то палитра цветов изображается вместе с объектами изображения image.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Пример:

(%i1) load("draw")$
(%i2) im: apply('matrix,
                 makelist(makelist(random(200),i,1,30),i,1,30))$
(%i3) draw2d(image(im,0,0,30,30))$
(%i4) draw2d(colorbox=false, image(im,0,0,30,30))$

См. palette.

Графическая опция: enhanced3d

Значение по умолчанию: false

Если enhanced3d равно true, то поверхности в трехмерных графиках окрашиваются, другими словами, включается Gnuplot мода pm3d.

См. palette для того, чтобы узнать как задается палитра.

Пример:

(%i1) load("draw")$
(%i2) draw3d(surface_hide = true,
             enhanced3d   = true,
             palette      = gray,
             explicit(20*exp(-x^2-y^2)-10,x,-3,3,y,-3,3))$
Графическая опция: point_size

Значение по умолчанию: 1

point_size – устанавливает размер изображаемых точек. Значение должно быть неотрицательным числом.

Эта опция влияет на следующие графические объекты:

Пример:

(%i1) load("draw")$
(%i2) draw2d(points(makelist([random(20),random(50)],k,1,10)),
        point_size = 5,
        points(makelist(k,k,1,20),makelist(random(30),k,1,20)))$
Графическая опция: point_type

Значение по умолчанию: 1

point_type определяет то, как изображаются изолированные точки. Значение этой опции может быть целое число больше или равное -1, или имя стиля точки: $none (-1), dot (0), plus (1), multiply (2), asterisk (3), square (4), filled_square (5), circle (6), filled_circle (7), up_triangle (8), filled_up_triangle (9), down_triangle (10), filled_down_triangle (11), diamant (12) и filled_diamant (13).

Эта опция влияет на следующие графические объекты:

Пример:

(%i1) load("draw")$
(%i2) draw2d(xrange = [0,10],
             yrange = [0,10],
             point_size = 3,
             point_type = diamant,
             points([[1,1],[5,1],[9,1]]),
             point_type = filled_down_triangle,
             points([[1,2],[5,2],[9,2]]),
             point_type = asterisk,
             points([[1,3],[5,3],[9,3]]),
             point_type = filled_diamant,
             points([[1,4],[5,4],[9,4]]),
             point_type = 5,
             points([[1,5],[5,5],[9,5]]),
             point_type = 6,
             points([[1,6],[5,6],[9,6]]),
             point_type = filled_circle,
             points([[1,7],[5,7],[9,7]]),
             point_type = 8,
             points([[1,8],[5,8],[9,8]]),
             point_type = filled_diamant,
             points([[1,9],[5,9],[9,9]]) )$
Графическая опция: points_joined

Значение по умолчанию: false

Если points_joined равно true, то точки соединяются линиями.

Эта опция влияет на следующие графические объекты:

Пример:

(%i1) load("draw")$
(%i2) draw2d(xrange        = [0,10],
             yrange        = [0,4],
             point_size    = 3,
             point_type    = up_triangle,
             color         = blue,
             points([[1,1],[5,1],[9,1]]),
             points_joined = true,
             point_type    = square,
             line_type     = dots,
             points([[1,2],[5,2],[9,2]]),
             point_type    = circle,
             color         = red,
             line_width    = 7,
             points([[1,3],[5,3],[9,3]]) )$
Графическая опция: filled_func

Значение по умолчанию: false

Опция filled_func управляет то, как заполняются области, ограниченные функциями. Если filled_func равно true, то область, ограниченная функцией, определенной объектом explicit и низом графического окна, заполняется цветом fill_color. Если filled_func содержит функциональное выражение, то будет заполнена область, ограниченная этой функцией и функцией, определенной объектом explicit. По умолчанию явные функции не заполняются.

Эта опция влияет только на двумерные графические объекты explicit.

Пример:

Область, ограниченная объектом explicit и низом графического окна.

(%i1) load("draw")$
(%i2) draw2d(fill_color  = red,
             filled_func = true,
             explicit(sin(x),x,0,10) )$

Область, ограниченная объектом explicit и функцией, определенной в filled_func. Отметим, что переменная в filled_func должна быть той же, что и в explicit.

(%i1) load("draw")$
(%i2) draw2d(fill_color  = grey,
             filled_func = sin(x),
             explicit(-sin(x),x,0,%pi));

См. fill_color и explicit.

Графическая опция: transparent

Значение по умолчанию: false

Если transparent равно true, то внутренняя область многоугольников заполняется в соответствии с fill_color.

Эта опция влияет на следующие графические объекты:

Пример:

(%i1) load("draw")$
(%i2) draw2d(polygon([[3,2],[7,2],[5,5]]),
             transparent = true,
             color       = blue,
             polygon([[5,2],[9,2],[7,5]]) )$
Графическая опция: border

Значение по умолчанию: true

Если border равно true, то границы многоугольников изображаются в соответствии с опциями line_type и line_width.

Эта опция влияет на следующие графические объекты:

Пример:

(%i1) load("draw")$
(%i2) draw2d(color       = brown,
             line_width  = 8,
             polygon([[3,2],[7,2],[5,5]]),
             border      = false,
             fill_color  = blue,
             polygon([[5,2],[9,2],[7,5]]) )$
Графическая опция: head_both

Значение по умолчанию: false

Если head_both равно true, то векторы изображаются со окончаниями в форме двух стрелок. Если false, то изображается только одна стрелка.

Эта опция влияет только на объекты типа vector.

Пример:

(%i1) load("draw")$
(%i2) draw2d(xrange      = [0,8],
             yrange      = [0,8],
             head_length = 0.7,
             vector([1,1],[6,0]),
             head_both   = true,
             vector([1,7],[6,0]) )$

См. head_length, head_angle и head_type.

Графическая опция: head_length

Значение по умолчанию: 2

head_length задает длину наконечника стрелок в единицах оси x.

Эта опция влияет только на объекты типа vector.

Пример:

(%i1) load("draw")$
(%i2) draw2d(xrange      = [0,12],
             yrange      = [0,8],
             vector([0,1],[5,5]),
             head_length = 1,
             vector([2,1],[5,5]),
             head_length = 0.5,
             vector([4,1],[5,5]),
             head_length = 0.25,
             vector([6,1],[5,5]))$

См. head_both, head_angle и head_type.

Графическая опция: head_angle

Значение по умолчанию: 45

head_angle задает угол в градусах между стронами наконечника стрелки и ее осью.

Эта опция влияет только на объекты типа vector.

Пример:

(%i1) load("draw")$
(%i2) draw2d(xrange      = [0,10],
             yrange      = [0,9],
             head_length = 0.7,
             head_angle  = 10,
             vector([1,1],[0,6]),
             head_angle  = 20,
             vector([2,1],[0,6]),
             head_angle  = 30,
             vector([3,1],[0,6]),
             head_angle  = 40,
             vector([4,1],[0,6]),
             head_angle  = 60,
             vector([5,1],[0,6]),
             head_angle  = 90,
             vector([6,1],[0,6]),
             head_angle  = 120,
             vector([7,1],[0,6]),
             head_angle  = 160,
             vector([8,1],[0,6]),
             head_angle  = 180,
             vector([9,1],[0,6]) )$

См. head_both, head_length и head_type.

Графическая опция: head_type

Значение по умолчанию: filled

head_type задает способ изображения наконечника стрелок. Возможны значения: filled (замкнутые и заполненные наконечники), empty (замкнутые и пустые наконечники) и nofilled (открытые наконечники).

Эта опция влияет только на объекты типа vector.

Пример:

(%i1) load("draw")$
(%i2) draw2d(xrange      = [0,12],
             yrange      = [0,10],
             head_length = 1,
             vector([0,1],[5,5]), /* default type */
             head_type = 'empty,
             vector([3,1],[5,5]),
             head_type = 'nofilled,
             vector([6,1],[5,5]))$

См. head_both, head_angle и head_length.

Графическая опция: unit_vectors

Значение по умолчанию: false

Если unit_vectors равно true, все вектора изображаются с единичной длиной. Это полезно при изображении векторных полей. Если unit_vectors равно false, то вектора изображаются с их настоящей длиной.

Эта опция влияет только на объекты типа vector.

Пример:

(%i1) load("draw")$
(%i2) draw2d(xrange      = [-1,6],
             yrange      = [-1,6],
             head_length = 0.1,
             vector([0,0],[5,2]),
             unit_vectors = true,
             color        = red,
             vector([0,3],[5,2]))$
Графическая опция: label_alignment

Значение по умолчанию: center

label_alignment определяет положение меток, по отношению к заданным координатам. Возможны значения: center, left и right.

Эта опция влияет только на объекты типа label.

Пример:

(%i1) load("draw")$
(%i2) draw2d(xrange          = [0,10],
             yrange          = [0,10],
             points_joined   = true,
             points([[5,0],[5,10]]),
             color           = blue,
             label(["Centered alignment (default)",5,2]),
             label_alignment = 'left,
             label(["Left alignment",5,5]),
             label_alignment = 'right,
             label(["Right alignment",5,8]))$

См. label_orientation и color.

Графическая опция: label_orientation

Значение по умолчанию: horizontal

label_orientation определяет ориентацию меток. Возможны значения: horizontal и vertical.

Эта опция влияет только на объекты типа label.

Пример:

В этом примере к изображению добавлена фиктивная точка. Пакет draw требует непустые данные, чтобы изобразить сцену.

(%i1) load("draw")$
(%i2) draw2d(xrange     = [0,10],
             yrange     = [0,10],
             point_size = 0,
             points([[5,5]]),
             color      = navy,
             label(["Horizontal orientation (default)",5,2]),
             label_orientation = 'vertical,
             color             = "#654321",
             label(["Vertical orientation",1,5]))$

См. label_alignment и color.

Графическая опция: color

Значение по умолчанию: "black"

color задает цвет линий, точек, границ многоугольников и меток.

Цвет может быть задан как наименование или как шестнадцатиричный rgb код.

Доступны следующие наименования цветов: "white", "black", "gray0", "grey0", "gray10", "grey10", "gray20", "grey20", "gray30", "grey30", "gray40", "grey40", "gray50", "grey50", "gray60", "grey60", "gray70", "grey70", "gray80", "grey80", "gray90", "grey90", "gray100", "grey100", "gray", "grey", "light-gray", "light-grey", "dark-gray", "dark-grey", "red", "light-red", "dark-red", "yellow", "light-yellow", "dark-yellow", "green", "light-green", "dark-green", "spring-green", "forest-green", "sea-green", "blue", "light-blue", "dark-blue", "midnight-blue", "navy", "medium-blue", "royalblue", "skyblue", "cyan", "light-cyan", "dark-cyan", "magenta", "light-magenta", "dark-magenta", "turquoise", "light-turquoise", "dark-turquoise", "pink", "light-pink", "dark-pink", "coral", "light-coral", "orange-red", "salmon", "light-salmon", "dark-salmon", "aquamarine", "khaki", "dark-khaki", "goldenrod", "light-goldenrod", "dark-goldenrod", "gold", "beige", "brown", "orange", "dark-orange", "violet", "dark-violet", "plum" и "purple".

Цветовые компоненты в шестнадцатиричном коде представляются в форме "#rrggbb".

Пример:

(%i1) load("draw")$
(%i2) draw2d(explicit(x^2,x,-1,1), /* default is black */
             color = "red",
             explicit(0.5 + x^2,x,-1,1),
             color = blue,
             explicit(1 + x^2,x,-1,1),
             color = "light-blue", /* double quotes if - is used */
             explicit(1.5 + x^2,x,-1,1),
             color = "#23ab0f",
             label(["This is a label",0,1.2])  )$

См. fill_color.

Графическая опция: fill_color

Значение по умолчанию: "red"

fill_color определяет цвет для заполнения многоугольников и двумерных explicit функций.

См. color для способа задания цвета.

Графическая опция: fill_density

Значение по умолчанию: 0

fill_density – число от 0 до 1, которое задает интенсивность цвета fill_color в объектах bars.

См. bars для примеров.

Графическая опция: line_width

Значение по умолчанию: 1

line_width – ширина изображаемых линий. Значение должно быть положительным числом.

Эта опция влияет на следующие графические объекты:

Пример:

(%i1) load("draw")$
(%i2) draw2d(explicit(x^2,x,-1,1), /* default width */
             line_width = 5.5,
             explicit(1 + x^2,x,-1,1),
             line_width = 10,
             explicit(2 + x^2,x,-1,1))$

См. line_type.

Графическая опция: line_type

Значение по умолчанию: solid

line_type – задает стиль изображения линий. Возможные значения: solid и dots.

Эта опция влияет на следующие графические объекты:

Пример:

(%i1) load("draw")$
(%i2) draw2d(line_type = dots,
             explicit(1 + x^2,x,-1,1),
             line_type = solid, /* default */
             explicit(2 + x^2,x,-1,1))$

См. line_width.

Графическая опция: nticks

Значение по умолчанию: 30

nticks – число пробных точек, используемых в графических процедурах.

Эта опция влияет на следующие графические объекты:

Пример:

(%i1) load("draw")$
(%i2) draw2d(transparent = true,
             ellipse(0,0,4,2,0,180),
             nticks = 5,
             ellipse(0,0,4,2,180,180) )$
Графическая опция: adapt_depth

Значение по умолчанию: 10

adapt_depth – максимальное число разбиений, используемое в адаптивных графиках.

Эта опция влияет только на двумерные explicit функции.

Графическая опция: key

Значение по умолчанию: "" (пустая строка)

key – наименование функции в легенде. Если key – пустая строка, то ничего не изображается.

Эта опция влияет на следующие графические объекты:

Пример:

(%i1) load("draw")$
(%i2) draw2d(key   = "Sinus",
             explicit(sin(x),x,0,10),
             key   = "Cosinus",
             color = red,
             explicit(cos(x),x,0,10) )$
Графическая опция: xu_grid

Значение по умолчанию: 30

xu_grid – число координат первой переменной (x в явной и u в параметрической трехмерной поверхности) для построения сетки пробных точек.

Эта опция влияет на следующие графические объекты:

Пример:

(%i1) load("draw")$
(%i2) draw3d(xu_grid = 10,
             yv_grid = 50,
             explicit(x^2+y^2,x,-3,3,y,-3,3) )$

См. yv_grid.

Графическая опция: yv_grid

Значение по умолчанию: 30

yv_grid – число координат второй переменной (y в явной и v в параметрической трехмерной поверхности) для построения сетки пробных точек.

Эта опция влияет на следующие графические объекты:

Пример:

(%i1) load("draw")$
(%i2) draw3d(xu_grid = 10,
             yv_grid = 50,
             explicit(x^2+y^2,x,-3,3,y,-3,3) )$

См. xu_grid.

Графическая опция: surface_hide

Значение по умолчанию: false

Если surface_hide равно true, то скрытые части на трехмерных поверхностях не изображаются.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Пример:

(%i1) load("draw")$
(%i2) draw(columns=2,
           gr3d(explicit(exp(sin(x)+cos(x^2)),x,-3,3,y,-3,3)),
           gr3d(surface_hide = true,
                explicit(exp(sin(x)+cos(x^2)),x,-3,3,y,-3,3)) )$
Графическая опция: contour

Значение по умолчанию: none

Опция contour позволяет пользователю выбрать, где изображать контурные линии. Доступны следующие значения:

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Пример:

(%i1) load("draw")$
(%i2) draw3d(explicit(20*exp(-x^2-y^2)-10,x,0,2,y,-3,3),
             contour_levels = 15,
             contour        = both,
             surface_hide   = true) $
Графическая опция: contour_levels

Значение по умолчанию: 5

Эта опция управляет способом изображения контуров. contour_levels может иметь значение в виде положительного целого числа, списка трех чисел или произвольного набора чисел:

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.

Примеры:

Контурные линии, расположенные на равном расстоянии. Число уровней можно настраивать.

(%i1) load("draw")$
(%i2) draw3d(color = green,
             explicit(20*exp(-x^2-y^2)-10,x,0,2,y,-3,3),
             contour_levels = 10,
             contour        = both,
             surface_hide   = true) $

Контурные линии от -8 до 8 с шагом 4.

(%i1) load("draw")$
(%i2) draw3d(color = green,
             explicit(20*exp(-x^2-y^2)-10,x,0,2,y,-3,3),
             contour_levels = [-8,4,8],
             contour        = both,
             surface_hide   = true) $

Контурные линии на уровне -7, -6, 0.8 и 5.

(%i1) load("draw")$
(%i2) draw3d(color = green,
             explicit(20*exp(-x^2-y^2)-10,x,0,2,y,-3,3),
             contour_levels = {-7, -6, 0.8, 5},
             contour        = both,
             surface_hide   = true) $

См. contour.

Графическая опция: columns

Значение по умолчанию: 1

columns число колонок в множественных графиках.

Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения. Она также может использоваться как аргумент функции draw.

Пример:

(%i1) load("draw")$
(%i2) scene1: gr2d(title="Ellipse",
                   nticks=30,
                   parametric(2*cos(t),5*sin(t),t,0,2*%pi))$
(%i3) scene2: gr2d(title="Triangle",
                   polygon([4,5,7],[6,4,2]))$
(%i4) draw(scene1, scene2, columns = 2)$
Графическая опция: ip_grid

Значение по умолчанию: [50, 50]

ip_grid задает решетку для первой пробной выборки для неявных графиков.

Эта опция влияет только на объекты типа implicit.

Графическая опция: ip_grid_in

Значение по умолчанию: [5, 5]

ip_grid_in задает решетку для второй пробной выборки для неявных графиков.

Эта опция влияет только на объекты типа implicit.

Графическая опция: x_voxel

Значение по умолчанию: 10

x_voxel есть число вокселей в направлении x, используемых в алгоритме марширующих кубов, реализованном лоя трехмерных implicit объектов.

Графическая опция: y_voxel

Значение по умолчанию: 10

y_voxel есть число вокселей в направлении y, используемых в алгоритме марширующих кубов, реализованном лоя трехмерных implicit объектов.

Графическая опция: z_voxel

Значение по умолчанию: 10

z_voxel есть число вокселей в направлении z, используемых в алгоритме марширующих кубов, реализованном лоя трехмерных implicit объектов.

Конструктор сцены: gr2d (графическая опция, ..., графический объект, ...)

Функция gr2d строит объект, который описывает двумерную сцену. Аргументы есть графические опции и графические объекты. Эта сцена интерпретируется последовательно: графические опции влияет на графические объекты, расположенные справа от них. Некоторые графические опции глобально влияют на вид сцены.

Это список графических объектов, доступных для сцены в двух измерениях: points, polygon, rectangle, bars, ellipse, label, vector, explicit, implicit, polar, parametric, image и geomap.

См. следующие глобальные графические опции: xrange, yrange, logx, logy, terminal, grid, title, xlabel, ylabel, xtics, ytics, xtics_rotate, ytics_rotate, xtics_axis, ytics_axis, xaxis, yaxis, xaxis_width, yaxis_width, xaxis_type, yaxis_type, xaxis_color, yaxis_color, xy_file, file_name, pic_width, pic_height, eps_width, eps_height, user_preamble, axis_bottom, axis_left, axis_top и axis_right.

Для того, чтобы использовать эту функцию, ее следует загрузить командой load("draw").

Конструктор сцены: gr3d (графическая опция, ..., графический объект, ...)

Функция gr3d строит объект, который описывает трехмерную сцену. Аргументы есть графические опции и графические объекты. Эта сцена интерпретируется последовательно: графические опции влияет на графические объекты, неположенные справа от них. Некоторые графические опции глобально влияют на вид сцены.

Это список графических объектов, доступных для сцены в трех измерениях: points, label, vector, explicit, implicit, parametric, parametric_surface и geomap.

См. следующие графические опции: xrange, yrange, zrange, logx, logy, logz, terminal, grid, title, xlabel, ylabel, zlabel, xtics, ytics, ztics, xtics_rotate, ytics_rotate, ztics_rotate, xtics_axis, ytics_axis, ztics_axis, xaxis, yaxis, zaxis, xaxis_width, yaxis_width, zaxis_width, xaxis_type, yaxis_type, zaxis_type, xaxis_color, yaxis_color, zaxis_color, xy_file, user_preamble, axis_bottom, axis_left, axis_top, file_name, pic_width, pic_height, eps_width, eps_height, axis_right, rot_vertical, rot_horizontal, axis_3d, xu_grid, yv_grid, surface_hide, contour, contour_levels, palette, colorbox и enhanced3d.

Для того, чтобы использовать эту функцию, ее следует загрузить командой load("draw").

Графический объект: points ([[x1,y1], [x2,y2],...])
Графический объект: points ([x1,x2,...], [y1,y2,...])
Графический объект: points ([y1,y2,...])
Графический объект: points ([[x1,y1,z1], [x2,y2,z2],...])
Графический объект: points ([x1,x2,...], [y1,y2,...], [z1,z2,...])
Графический объект: points (matrix)

Строит точки в двух и трех измерениях.

Следующие графические опции влияют на этот объект: point_size, point_type, points_joined, line_width, key, line_type и color.

Два измерения

points ([[x1,y1], [x2,y2],...]) или points ([x1,x2,...], [y1,y2,...]) строит точки с координатами [x1,y1], [x2,y2], и т.д. Если абсциссы не заданы, то они принимаются равными последовательным положительным числам, так что points ([y1,y2,...]) строит точки [1,y1], [2,y2], и т.д. Если matrix – матрица из двух строк или столбцов, то points (matrix) строит соответствующие точки. Если matrix – матрица из одной строки или одного столбца, то абсциссы выбираются автоматически.

Пример:

(%i1) load("draw")$
(%i2) draw2d(
        key = "Small points",
        points(makelist([random(20),random(50)],k,1,10)),
        point_type    = circle,
        point_size    = 3,
        points_joined = true,
        key           = "Great points",
        points(makelist(k,k,1,20),makelist(random(30),k,1,20)),
        point_type    = filled_down_triangle,
        key           = "Automatic abscissas",
        color         = red,
        points([2,12,8]))$

Три измерения

points ([[x1,y1,z1], [x2,y2,z2],...]) или points ([x1,x2,...], [y1,y2,...], [z1,z2,...]) строит точки с координатами [x1,y1,z1], [x2,y2,z2], и т.д. Если matrix – матрица из трех строк или трех столбцов, то points (matrix) строит соответствующие точки.

Примеры:

Одна трехмерная выборка:

(%i1) load("draw")$
(%i2) load ("numericalio")$
(%i3) s2 : read_matrix (file_search ("wind.data"))$
(%i4) draw3d(title = "Daily average wind speeds",
             point_size = 2,
             points(args(submatrix (s2, 4, 5))) )$

Две трехмерные выборки:

(%i1) load("draw")$
(%i2) load ("numericalio")$
(%i3) s2 : read_matrix (file_search ("wind.data"))$
(%i4) draw3d(
         title = "Daily average wind speeds. Two data sets",
         point_size = 2,
         key        = "Sample from stations 1, 2 and 3",
         points(args(submatrix (s2, 4, 5))),
         point_type = 4,
         key        = "Sample from stations 1, 4 and 5",
         points(args(submatrix (s2, 2, 3))) )$
Графический объект: polygon ([[x1,y1], [x2,y2],...])
Графический объект: polygon ([x1,x2,...], [y1,y2,...])

Строит многоугольник в двух измерениях.

Два измерения

polygon ([[x1,y1], [x2,y2],...]) или polygon ([x1,x2,...], [y1,y2,...]): строит на плоскости многоугольник с вершинами [x1,y1], [x2,y2], и т.д.

Следующие графические опции влияют на этот объект: transparent, fill_color, border, line_width, key, line_type и color.

Пример:

(%i1) load("draw")$
(%i2) draw2d(color      = "#e245f0",
             line_width = 8,
             polygon([[3,2],[7,2],[5,5]]),
             border      = false,
             fill_color  = yellow,
             polygon([[5,2],[9,2],[7,5]]) )$
Графический объект: rectangle ([x1,y1], [x2,y2])

Строит прямоугольники в двух измерениях.

Два измерения

rectangle ([x1,y1], [x2,y2]) строит прямоугольник с противоположными вершинами [x1,y1] и [x2,y2].

Следующие графические опции влияют на этот объект: transparent, fill_color, border, line_width, key, line_type и color.

Пример:

(%i1) load("draw")$
(%i2) draw2d(fill_color  = red,
             line_width  = 6,
             line_type   = dots,
             transparent = false,
             fill_color  = blue,
             rectangle([-2,-2],[8,-1]), /* opposite vertices */
             transparent = true,
             line_type   = solid,
             line_width  = 1,
             rectangle([9,4],[2,-1.5]),
             xrange      = [-3,10],
             yrange      = [-3,4.5] )$
Графический объект: bars ([x1,h1,w1], [x2,h2,w2, ...])

Строит вертикальные полоски в двух измерениях.

Два измерения

bars ([x1,h1,w1], [x2,h2,w2, ...]) Строит полоски с центрами на x1, x2, ... с высотами h1, h2, ... и ширинами w1, w2, ...

Следующие графические опции влияют на этот объект: key, fill_color, fill_density и line_width.

Пример:

(%i1) load("draw")$
(%i2) draw2d(
       key          = "Group A",
       fill_color   = blue,
       fill_density = 0.2,
       bars([0.8,5,0.4],[1.8,7,0.4],[2.8,-4,0.4]),
       key          = "Group B",
       fill_color   = red,
       fill_density = 0.6,
       line_width   = 4,
       bars([1.2,4,0.4],[2.2,-2,0.4],[3.2,5,0.4]),
       xaxis = true);
Графический объект: ellipse (xc, yc, a, b, ang1, ang2)

Строит эллипсы и круги в двух измерениях.

Два измерения

ellipse (xc, yc, a, b, ang1, ang2) строит эллипс с центром в [xc, yc] с горизонтальной и вертикальной полу-осями a и b соответственно от угла ang1 до угла ang2.

Следующие графические опции влияют на этот объект: nticks, transparent, fill_color, border, line_width, line_type, key и color.

Пример:

(%i1) load("draw")$
(%i2) draw2d(transparent = false,
             fill_color  = red,
             color       = gray30,
             transparent = false,
             line_width  = 5,
             ellipse(0,6,3,2,270,-270),
             /* center (x,y), a, b, start & end in degrees */
             transparent = true,
             color       = blue,
             line_width  = 3,
             ellipse(2.5,6,2,3,30,-90),
             xrange      = [-3,6],
             yrange      = [2,9] )$
Графический объект: label ([string,x,y],...)
Графический объект: label ([string,x,y,z],...)

Изображает текстовую метку в двух или трех измерениях.

Следующие графические опции влияют на этот объект: label_alignment, label_orientation и color.

Два измерения

label([string,x,y]) изображает текст string в точке [x,y].

Пример:

(%i1) load("draw")$
(%i2) draw2d(yrange = [0.1,1.4],
             color = "red",
             label(["Label in red",0,0.3]),
             color = "#0000ff",
             label(["Label in blue",0,0.6]),
             color = "light-blue",
             label(["Label in light-blue",0,0.9],
                   ["Another ligght-blue",0,1.2])  )$

Три измерения

label([string,x,y,z]) изображает текст string в точке [x,y,z].

Пример:

(%i1) load("draw")$
(%i2) draw3d(explicit(exp(sin(x)+cos(x^2)),x,-3,3,y,-3,3),
             color = red,
             label(["UP 1",-2,0,3], ["UP 2",1.5,0,4]),
             color = blue,
             label(["DOWN 1",2,0,-3]) )$
Графический объект: vector ([x,y], [dx,dy])
Графический объект: vector ([x,y,z], [dx,dy,dz])

Строит вектор в двух или трех измерениях.

Следующие графические опции влияют на этот объект: head_both, head_length, head_angle, head_type, line_width, line_type, key и color.

Два измерения

vector([x,y], [dx,dy]) строит вектор [dx,dy] с началом в точке [x,y].

Пример:

(%i1) load("draw")$
(%i2) draw2d(xrange      = [0,12],
             yrange      = [0,10],
             head_length = 1,
             vector([0,1],[5,5]), /* default type */
             head_type = 'empty,
             vector([3,1],[5,5]),
             head_both = true,
             head_type = 'nofilled,
             line_type = dots,
             vector([6,1],[5,5]))$

Три измерения

vector([x,y,z], [dx,dy,dz]) строит вектор [dx,dy,dz] с началом в точке [x,y,z].

Пример:

(%i1) load("draw")$
(%i2) draw3d(color = cyan,
             vector([0,0,0],[1,1,1]/sqrt(3)),
             vector([0,0,0],[1,-1,0]/sqrt(2)),
             vector([0,0,0],[1,1,-2]/sqrt(6)) )$
Графический объект: explicit (fcn,var,minval,maxval)
Графический объект: explicit (fcn,var1,minval1,maxval1,var2,minval2,maxval2)

Строит явную функцию в двух или трех измерениях.

Два измерения

explicit(fcn,var,minval,maxval) строит явную функцию fcn переменной var, принимающей значения от minval до maxval.

Следующие графические опции влияют на этот объект: nticks, adapt_depth, line_width, line_type, key, filled_func, fill_color и color.

Пример:

(%i1) load("draw")$
(%i2) draw2d(line_width = 3,
             color      = blue,
             explicit(x^2,x,-3,3) )$
(%i3) draw2d(fill_color  = brown,
             filled_func = true,
             explicit(x^2,x,-3,3) )$

Три измерения

explicit(fcn,var1,minval1,maxval1,var2,minval2,maxval2) строит явную функцию fcn переменной var1 в пределах от minval1 до maxval1, и переменной var2 в пределах от minval2 до maxval2.

Следующие графические опции влияют на этот объект: xu_grid, yv_grid, line_type, key и color.

Пример:

(%i1) load("draw")$
(%i2) draw3d(key   = "Gauss",
             color = "#a02c00",
             explicit(20*exp(-x^2-y^2)-10,x,-3,3,y,-3,3),
             yv_grid     = 10,
             color = blue,
             key   = "Plane",
             explicit(x+y,x,-5,5,y,-5,5),
             surface_hide = true)$

См. filled_func по поводу функций с заполнением.

Графический объект: implicit (fcn,x,xmin,xmax,y,ymin,ymax)
Графический объект: implicit (fcn,x,xmin,xmax,y,ymin,ymax,z,zmin,zmax)

Строит неявную функцию в двух и трех измерениях.

Два измерения

implicit(fcn,x,xmin,xmax,y,ymin,ymax) строит неявную функцию, определенную fcn с переменной x, принимающей значения от xmin до xmax, и переменной y, принимающей значения от ymin до ymax.

Следующие графические опции влияют на этот объект: ip_grid, ip_grid_in, line_width, line_type, key и color.

Пример:

(%i1) load("draw")$
(%i2) draw2d(terminal  = eps,
             grid      = true,
             line_type = solid,
             key       = "y^2=x^3-2*x+1",
             implicit(y^2=x^3-2*x+1, x, -4,4, y, -4,4),
             line_type = dots,
             key       = "x^3+y^3 = 3*x*y^2-x-1",
             implicit(x^3+y^3 = 3*x*y^2-x-1, x,-4,4, y,-4,4),
             title     = "Two implicit functions" )$

Три измерения

implicit (fcn,x,xmin,xmax, y,ymin,ymax, z,zmin,zmax) строит неявную поверхность, определенную fcn, с переменной x, принимающей значения от xmin до xmax, переменной y, принимающей значения от ymin до ymax и переменной z, принимающей значения от zmin до zmax. Для построения используется алгоритм марширующих кубов.

Следующие графические опции влияют на этот объект: x_voxel, y_voxel, z_voxel, line_width, line_type, key и color.

Пример:

(%i1) load("draw")$
(%i2) draw3d(
        color=blue,
        implicit((x^2+y^2+z^2-1)*(x^2+(y-1.5)^2+z^2-0.5)=0.015,
                 x,-1,1,y,-1.2,2.3,z,-1,1),
        surface_hide=true);
Графический объект: polar (radius,ang,minang,maxang)

Строит двумерную функцию в полярных координатах.

Два измерения

polar (radius,ang,minang,maxang) изображает функцию radius(ang) в полярных координатах переменной ang в пределах от minang до maxang.

Следующие графические опции влияют на этот объект: nticks, line_width, line_type, key и color.

Пример:

(%i1) load("draw")$
(%i2) draw2d(user_preamble = "set grid polar",
             nticks        = 200,
             xrange        = [-5,5],
             yrange        = [-5,5],
             color         = blue,
             line_width    = 3,
             title         = "Hyperbolic Spiral",
             polar(10/theta,theta,1,10*%pi) )$
Графический объект: spherical (radius,azi,minazi,maxazi,zen,minzen,maxzen)

Строит трехмерную функцию в сферических координатах.

Три измерения

spherical (radius,azi,minazi,maxazi,zen,minzen,maxzen) строит функцию radius(azi,zen) в сферических координатах с азимутом azi в пределах от minazi до maxazi и возвышением zen в пределах от minzen до maxzen.

Следующие графические опции влияют на этот объект: xu_grid, yv_grid, line_type, key и color.

Пример:

(%i1) load("draw")$
(%i2) draw3d(spherical(1,a,0,2*%pi,z,0,%pi))$
Графический объект: cylindrical (radius,z,minz,maxz,azi,minazi,maxazi)

Строит трехмерную функцию в цилиндрических координатах.

Три измерения

cylindrical (radius,z,minz,maxz,azi,minazi,maxazi) строит функцию radius(z,azi) в цилиндрических координатах с z в пределах от minz до maxz и азимутом azi в пределах от minazi до maxazi.

Следующие графические опции влияют на этот объект: xu_grid, yv_grid, line_type, key и color.

Пример:

(%i1) load("draw")$
(%i2) draw3d(cylindrical(1,z,-2,2,az,0,2*%pi))$
Графический объект: parametric (xfun,yfun,par,parmin,parmax)
Графический объект: parametric (xfun,yfun,zfun,par,parmin,parmax)

Строит параметрическую функцию в двух и трех переменных.

Следующие графические опции влияют на этот объект: nticks, line_width, line_type, key и color.

Два измерения

parametric (xfun,yfun,par,parmin,parmax) строит параметрическую функцию [xfun,yfun] с параметром par, принимающим значения от parmin до parmax.

Пример:

(%i1) load("draw")$
(%i2) draw2d(explicit(exp(x),x,-1,3),
             color = red,
             key   = "This is the parametric one!!",
             parametric(2*cos(rrr),rrr^2,rrr,0,2*%pi))$

Три измерения

parametric (xfun,yfun,zfun,par,parmin,parmax) строит параметрическую кривую [xfun,yfun,zfun] с параметром par, принимающем значения от parmin до parmax.

Пример:

(%i1) load("draw")$
(%i2) draw3d(explicit(exp(sin(x)+cos(x^2)),x,-3,3,y,-3,3),
             color = royalblue,
             parametric(cos(5*u)^2,sin(7*u),u-2,u,0,2),
             color      = turquoise,
             line_width = 2,
             parametric(t^2,sin(t),2+t,t,0,2),
             surface_hide = true,
             title = "Surface & curves" )$
Графический объект: image (im,x0,y0,width,height)

Строит в двух измерениях.

Два измерения

image (im,x0,y0,width,height) строит изображение im в прямоугольной области от угла (x0,y0) до (x0+width,y0+height) на вещественной плоскости. Параметр im должен быть матрицей вещественных чисел, или матрицей векторов длины 3, или объект типа картина.

Если im – матрица вещественных чисел или объект картина уровней, то значения пикселов интерпретируются в соответствии с графической опцией palette, которая является вектором длины 3 с компонентами, принимающими значение от -36 до +36. Каждое значение является индексом формулы, преобразующей значение уровня в красный, зеленый и синий цвета соответственно:

 0: 0               1: 0.5           2: 1
 3: x               4: x^2           5: x^3
 6: x^4             7: sqrt(x)       8: sqrt(sqrt(x))
 9: sin(90x)       10: cos(90x)     11: |x-0.5|
12: (2x-1)^2       13: sin(180x)    14: |cos(180x)|
15: sin(360x)      16: cos(360x)    17: |sin(360x)|
18: |cos(360x)|    19: |sin(720x)|  20: |cos(720x)|
21: 3x             22: 3x-1         23: 3x-2
24: |3x-1|         25: |3x-2|       26: (3x-1)/2
27: (3x-2)/2       28: |(3x-1)/2|   29: |(3x-2)/2|
30: x/0.32-0.78125                  31: 2*x-0.84
32: 4x;1;-2x+1.84;x/0.08-11.5
33: |2*x - 0.5|    34: 2*x          35: 2*x - 0.5
36: 2*x - 1

Отрицательные числа означают отрицательные цветовые компоненты.

palette = gray и palette = color являются сокращениями для palette = [3,3,3] и palette = [7,5,15] соответственно.

Если im – матрица векторов длины 3 или объект rgb-картина, то они интерпретируются как красный, зеленый и синий цвета.

Примеры:

Если im – матрица вещественных чисел или объект картина уровней, то значения пикселов интерпретируются в соответствии с графической опцией palette.

(%i1) load("draw")$
(%i2) im: apply(
           'matrix,
            makelist(makelist(random(200),i,1,30),i,1,30))$
(%i3) /* palette = color, default */
      draw2d(image(im,0,0,30,30))$
(%i4) draw2d(palette = gray, image(im,0,0,30,30))$
(%i5) draw2d(palette = [15,20,-4],
             colorbox=false,
             image(im,0,0,30,30))$

См. colorbox.

Если im – матрица векторов длины 3 или объект rgb-картина, то они интерпретируются как красный, зеленый и синий цвета.

(%i1) load("draw")$
(%i2) im: apply(
            'matrix,
             makelist(
               makelist([random(300),
                         random(300),
                         random(300)],i,1,30),i,1,30))$
(%i3) draw2d(image(im,0,0,30,30))$

Пакет draw автоматически загружает пакет picture. В данном примере, объект типа картина уровней строится вручную и потом изображается.

(%i1) load("draw")$
(%i2) im: make_level_picture([45,87,2,134,204,16],3,2);
(%o2)       picture(level, 3, 2, {Array:  #(45 87 2 134 204 16)})
(%i3) /* default color palette */
      draw2d(image(im,0,0,30,30))$
(%i4) /* gray palette */
      draw2d(palette = gray,
             image(im,0,0,30,30))$

Файл xpm читается и изображается.

(%i1) load("draw")$
(%i2) im: read_xpm("myfile.xpm")$
(%i3) draw2d(image(im,0,0,10,7))$

См. make_level_picture, make_rgb_picture и read_xpm.

По ссылке URL http://www.telefonica.net/web2/biomates/maxima/gpdraw/image находятся более развернутые примеры.

Глобальная переменная: boundaries_array

Значение по умолчанию: false

boundaries_array – это массив, в котором графический объект geomap ищет координаты границ.

Каждая компонента boundaries_array есть массив чисел с плавающей точкой – координат многоугольного сегмента или границы карты.

См. geomap.

Графический объект: geomap (numlist)
Графический объект: geomap (numlist,3Dprojection)

Строит карты в двух и трех измерениях.

Два измерения

Эта функция работает вместе с глобальной переменной boundaries_array.

Аргумент numlist – список, содержащий числа или списки чисел. Все числа должны быть неотрицательными целыми, которые представляют компоненты глобального массива boundaries_array.

Каждая компонента boundaries_array есть массив чисел с плавающей точкой – координат многоугольного сегмента или границы карты.

Функция geomap (numlist) проецирует свои аргументы на плоскость и строит соответствующую границу из boundaries_array.

Следующие графические опции влияют на этот объект: line_width, line_type и color.

Примеры:

Простая карта, определенная вручную:

(%i1) load("draw")$
(%i2) /* Vertices of boundary #0: {(1,1),(2,5),(4,3)} */
   ( bnd0: make_array(flonum,6),
     bnd0[0]:1.0, bnd0[1]:1.0, bnd0[2]:2.0,
     bnd0[3]:5.0, bnd0[4]:4.0, bnd0[5]:3.0 )$
(%i3) /* Vertices of boundary #1: {(4,3),(5,4),(6,4),(5,1)} */
   ( bnd1: make_array(flonum,8),
     bnd1[0]:4.0, bnd1[1]:3.0, bnd1[2]:5.0, bnd1[3]:4.0,
     bnd1[4]:6.0, bnd1[5]:4.0, bnd1[6]:5.0, bnd1[7]:1.0)$
(%i4) /* Vertices of boundary #2: {(5,1), (3,0), (1,1)} */
   ( bnd2: make_array(flonum,6),
     bnd2[0]:5.0, bnd2[1]:1.0, bnd2[2]:3.0,
     bnd2[3]:0.0, bnd2[4]:1.0, bnd2[5]:1.0 )$
(%i5) /* Vertices of boundary #3: {(1,1), (4,3)} */
   ( bnd3: make_array(flonum,4),
     bnd3[0]:1.0, bnd3[1]:1.0, bnd3[2]:4.0, bnd3[3]:3.0)$
(%i6) /* Vertices of boundary #4: {(4,3), (5,1)} */
   ( bnd4: make_array(flonum,4),
     bnd4[0]:4.0, bnd4[1]:3.0, bnd4[2]:5.0, bnd4[3]:1.0)$
(%i7) /* Pack all together in boundaries_array */
   ( boundaries_array: make_array(any,5),
     boundaries_array[0]: bnd0, boundaries_array[1]: bnd1,
     boundaries_array[2]: bnd2, boundaries_array[3]: bnd3,
     boundaries_array[4]: bnd4 )$
(%i8) draw2d(geomap([0,1,2,3,4]))$

Вспомогательный пакет worldmap заносит в boundaries_array реальные границы (долгота, широта). Эти данные публично доступны и получены из http://www-cger.nies.go.jp/grid-e/gridtxt/grid19.html. Пакет worldmap также определяет границы стран, континентов и береговых линий в форме списков с необходимыми компонентами boundaries_array (см. файл share/draw/worldmap.mac для дальнейшей информации). Пакет draw не загружает автоматически пакет worldmap.

(%i1) load("draw")$
(%i2) load("worldmap")$
(%i3) c1: gr2d(geomap(Canada,United_States,
                      Mexico,Cuba))$
(%i4) c2: gr2d(geomap(Africa))$
(%i5) c3: gr2d(geomap(Oceania,China,Japan))$
(%i6) c4: gr2d(geomap(France,Portugal,Spain,
                      Morocco,Western_Sahara))$
(%i7) draw(columns  = 2,
           c1,c2,c3,c4)$

Пакет worldmap также полезен для изображения стран в виде многоугольников. В этом случае графический объект geomap не нужен и вместо его используется объект polygon. Т.к. в этом случае используются списки а не массивы, то изображение карт будет мудреннее. См. make_poly_country и make_poly_continent, чтобы понять следующий код.

(%i1) load("draw")$
(%i2) load("worldmap")$
(%i3) mymap: append(
   [color      = white],  /* borders are white */
   [fill_color = red],             make_poly_country(Bolivia),
   [fill_color = cyan],            make_poly_country(Paraguay),
   [fill_color = green],           make_poly_country(Colombia),
   [fill_color = blue],            make_poly_country(Chile),
   [fill_color = "#23ab0f"],       make_poly_country(Brazil),
   [fill_color = goldenrod],       make_poly_country(Argentina),
   [fill_color = "midnight-blue"], make_poly_country(Uruguay))$
(%i4) apply(draw2d, mymap)$

Три измерения

geomap (numlist) проецирует границы карты на сферу единичного радиуса с центром (0,0,0). Сферу и тип проекции можно изменить при помощи geomap (numlist,3Dprojection).

Доступны следующие трехмерные проекции:

См. http://www.telefonica.net/web2/biomates/maxima/gpdraw/geomap для более сложных примеров.

Графический объект: parametric_surface (xfun,yfun,zfun,par1,par1min,par1max,par2,par2min,par2max)

Строит параметрическую поверхность в трех измерениях.

Три измерения

parametric_surface (xfun,yfun,zfun,par1,par1min,par1max,par2,par2min,par2max) строит параметрическую поверхность [xfun,yfun,zfun], с параметром par1, принимающем значения от par1min до par1max и параметром par2, принимающем значения от par2min до par2max.

Следующие графические опции влияют на этот объект: xu_grid, yv_grid, line_type, key и color.

Пример:

(%i1) load("draw")$
(%i2) draw3d(title          = "Sea shell",
             xu_grid        = 100,
             yv_grid        = 25,
             rot_vertical   = 100,
             rot_horizontal = 20,
             surface_hide   = true,
             parametric_surface(0.5*u*cos(u)*(cos(v)+1),
                           0.5*u*sin(u)*(cos(v)+1),
                           u*sin(v) - ((u+3)/8*%pi)^2 - 20,
                           u, 0, 13*%pi, v, -%pi, %pi) )$
Функция: draw (gr2d, ..., gr3d, ..., options, ...)

Изображает серию графических сцен. Ее аргументы есть gr2d и/или gr3d графические объекты вместе с некоторыми опциями. По умолчанию сцены собираются вместе в одну колонку.

Функция draw принимает следующие глобальные опции: terminal, columns, pic_width, pic_height, eps_width, eps_height, file_name и delay.

Функции draw2d и draw3d – сокращения, которые используются, когда требуется изобразить только одну сцену в двух или трех измерениях соответственно.

Для того, чтобы использовать эту функцию, ее следует загрузить командой load("draw").

Пример:

(%i1) load("draw")$
(%i2) scene1: gr2d(title="Ellipse",
                   nticks=30,
                   parametric(2*cos(t),5*sin(t),t,0,2*%pi))$
(%i3) scene2: gr2d(title="Triangle",
                   polygon([4,5,7],[6,4,2]))$
(%i4) draw(scene1, scene2, columns = 2)$

Эти две команды эквивалентны:

(%i1) load("draw")$
(%i2) draw(gr3d(explicit(x^2+y^2,x,-1,1,y,-1,1)));
(%o2)                          [gr3d(explicit)]
(%i3) draw3d(explicit(x^2+y^2,x,-1,1,y,-1,1));
(%o3)                          [gr3d(explicit)]

Анимированный файл gif:

(%i1) load("draw")$
(%i2) draw(
        delay     = 100,
        file_name = "zzz",
        terminal  = 'animated_gif,
        gr2d(explicit(x^2,x,-1,1)),
        gr2d(explicit(x^3,x,-1,1)),
        gr2d(explicit(x^4,x,-1,1)));
End of animation sequence
(%o2)          [gr2d(explicit), gr2d(explicit), gr2d(explicit)]

См. gr2d, gr3d, draw2d и draw3d.

Функция: draw2d (option, graphic_object, ...)

Эта функция является сокращением для draw(gr2d(options, ..., graphic_object, ...)).

Она может использоваться для изображения одиночной двумерной сцены.

Для того, чтобы использовать эту функцию, ее следует загрузить командой load("draw").

См. также draw и gr2d.

Функция: draw3d (option, graphic_object, ...)

Эта функция является сокращением для draw(gr3d(options, ..., graphic_object, ...)).

Она может использоваться для изображения одиночной трехмерной сцены.

Для того, чтобы использовать эту функцию, ее следует загрузить командой load("draw").

См. также draw и gr3d.


Next: , Previous: Введение в пакет draw, Up: Пакет draw   [Contents][Index]