Next: Функции и переменные для картин, Previous: Введение в пакет draw, Up: Пакет draw [Contents][Index]
Значение по умолчанию: auto
Если xrange
равно auto
, то диапазон координаты x вычисляется автоматически.
Если требуется определенный интервал x, он должен быть задан в форме списка,
например xrange=[-2, 3]
.
Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.
Пример:
(%i1) load("draw")$ (%i2) draw2d(xrange = [-3,5], explicit(x^2,x,-1,1))$
См. yrange
и zrange
.
Значение по умолчанию: 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
.
Значение по умолчанию: 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
.
Значение по умолчанию: false
Если logx
равно true
, то ось x будет изображаться в логарифмической шкале.
Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.
Пример:
(%i1) load("draw")$ (%i2) draw2d(explicit(log(x),x,0.01,5), logx = true)$
См. logy
и logz
.
Значение по умолчанию: false
Если logy
равно true
, то ось y будет изображаться в логарифмической шкале.
Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.
Пример:
(%i1) load("draw")$ (%i2) draw2d(logy = true, explicit(exp(x),x,0,5))$
См. logx
и 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
.
Значение по умолчанию: 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
.
Значение по умолчанию: false
Если grid
равно true
, то на плоскости xy будет изображена сетка.
Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.
Пример:
(%i1) load("draw")$ (%i2) draw2d(grid = true, explicit(exp(u),u,-2,2))$
Значение по умолчанию: ""
(пустая строка)
Опция title
– строка, содержащая основной заголовок сцены.
По умолчанию заголовок отсутствует.
Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.
Пример:
(%i1) load("draw")$ (%i2) draw2d(explicit(exp(u),u,-2,2), title = "Exponential function")$
Значение по умолчанию: ""
(пустая строка)
Опция xlabel
– строка, содержащая метку для оси x.
По умолчанию метка отсутствует.
Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.
Пример:
(%i1) load("draw")$ (%i2) draw2d(xlabel = "Time", explicit(exp(u),u,-2,2), ylabel = "Population")$
См. ylabel
и zlabel
.
Значение по умолчанию: ""
(пустая строка)
Опция ylabel
– строка, содержащая метку для оси y.
По умолчанию метка отсутствует.
Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.
Пример:
(%i1) load("draw")$ (%i2) draw2d(xlabel = "Time", ylabel = "Population", explicit(exp(u),u,-2,2) )$
См. xlabel
и 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
.
Значение по умолчанию: auto
Управляет методом изображения делений на оси x.
xtics
равно auto, то деления изображаются автоматически.
xtics
равно none, то деления не изображаются.
xtics
равно положительному числу, то это задает расстояние между соседними делениями.
xtics
равно списку длины три вида [start,incr,end]
,
то деления изображаются от отметки start
до end
с интервалом incr
.
xtics
равно набору чисел {n1, n2, ...}
, то деления изображаются
для значений n1
, n2
, ...
xtics
равно набору пар чисел вида {["label1", n1], ["label2", n2], ...}
,
то деления со значением n1
, n2
, ...
обозначаются метками "label1"
, "label2"
, ... соответственно.
Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.
Примеры:
Деления отключены.
(%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
.
Значение по умолчанию: auto
Управляет методом изображения делений на оси y.
См. xtics
для полного описания.
Значение по умолчанию: auto
Управляет методом изображения делений на оси z.
См. xtics
для полного описания.
Значение по умолчанию: false
Если xtics_rotate
равно true
, то деления на оси x поворачиваются на 90 градусов.
Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.
Значение по умолчанию: false
Если ytics_rotate
равно true
, то деления на оси y поворачиваются на 90 градусов.
Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.
Значение по умолчанию: false
Если ztics_rotate
равно true
, то деления на оси z поворачиваются на 90 градусов.
Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.
Значение по умолчанию: false
Если xtics_axis
равно true
, то деления и их метки изображаются вдоль оси x,
если false
, то деления изображаются на границе.
Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.
Значение по умолчанию: false
Если ytics_axis
равно true
, то деления и их метки изображаются вдоль оси y,
если false
, то деления изображаются на границе.
Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.
Значение по умолчанию: false
Если ztics_axis
равно true
, то деления и их метки изображаются вдоль оси z,
если false
, то деления изображаются на границе.
Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.
Значение по умолчанию: 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
.
Значение по умолчанию: 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
.
Значение по умолчанию: 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
.
Значение по умолчанию: "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
.
Значение по умолчанию: 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
.
Значение по умолчанию: 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
.
Значение по умолчанию: 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
.
Значение по умолчанию: "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
.
Значение по умолчанию: 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
.
Значение по умолчанию: 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
.
Значение по умолчанию: 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
.
Значение по умолчанию: "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
.
Значение по умолчанию: 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
.
Значение по умолчанию: 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
– имя файла, в котором будут сохранены координаты после щелчка мышкой и нажатия
клавиши ’x’. По умолчанию координаты не сохраняются.
Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.
Значение по умолчанию: ""
(пустая строка)
Опытные пользователи 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")$
Значение по умолчанию: "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
.
Значение по умолчанию: 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
.
Значение по умолчанию: 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
.
Значение по умолчанию: 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
.
Значение по умолчанию: 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
.
Значение по умолчанию: 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
.
Значение по умолчанию: 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
.
Значение по умолчанию: 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
.
Значение по умолчанию: 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
.
Значение по умолчанию: 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
.
Значение по умолчанию: 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
для двух измерений.
Значение по умолчанию: 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
.
Значение по умолчанию: 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
.
Значение по умолчанию: 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))$
Значение по умолчанию: 1
point_size
– устанавливает размер изображаемых точек.
Значение должно быть неотрицательным числом.
Эта опция влияет на следующие графические объекты:
gr2d
: points
.
gr3d
: points
.
Пример:
(%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)))$
Значение по умолчанию: 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).
Эта опция влияет на следующие графические объекты:
gr2d
: points
.
gr3d
: points
.
Пример:
(%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]]) )$
Значение по умолчанию: false
Если points_joined
равно true
, то точки соединяются линиями.
Эта опция влияет на следующие графические объекты:
gr2d
: points
.
gr3d
: points
.
Пример:
(%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]]) )$
Значение по умолчанию: 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
.
Значение по умолчанию: false
Если transparent
равно true
, то внутренняя область многоугольников
заполняется в соответствии с fill_color
.
Эта опция влияет на следующие графические объекты:
gr2d
: polygon
, rectangle
и ellipse
.
Пример:
(%i1) load("draw")$ (%i2) draw2d(polygon([[3,2],[7,2],[5,5]]), transparent = true, color = blue, polygon([[5,2],[9,2],[7,5]]) )$
Значение по умолчанию: true
Если border
равно true
, то границы многоугольников изображаются в
соответствии с опциями line_type
и line_width
.
Эта опция влияет на следующие графические объекты:
gr2d
: polygon
, rectangle
и ellipse
.
Пример:
(%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]]) )$
Значение по умолчанию: 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
.
Значение по умолчанию: 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
.
Значение по умолчанию: 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
.
Значение по умолчанию: 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
.
Значение по умолчанию: 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]))$
Значение по умолчанию: 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
.
Значение по умолчанию: 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
.
Значение по умолчанию: "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
.
Значение по умолчанию: "red"
fill_color
определяет цвет для заполнения многоугольников и двумерных explicit
функций.
См. color
для способа задания цвета.
Значение по умолчанию: 0
fill_density
– число от 0 до 1, которое задает интенсивность
цвета fill_color
в объектах bars
.
См. bars
для примеров.
Значение по умолчанию: 1
line_width
– ширина изображаемых линий.
Значение должно быть положительным числом.
Эта опция влияет на следующие графические объекты:
gr2d
: points
, polygon
, rectangle
,
ellipse
, vector
, explicit
, implicit
,
parametric
и polar
.
gr3d
: points
и parametric
.
Пример:
(%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
.
Значение по умолчанию: solid
line_type
– задает стиль изображения линий.
Возможные значения: solid
и dots
.
Эта опция влияет на следующие графические объекты:
gr2d
: points
, polygon
, rectangle
,
ellipse
, vector
, explicit
, implicit
,
parametric
и polar
.
gr3d
: points
, explicit
, parametric
и parametric_surface
.
Пример:
(%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
.
Значение по умолчанию: 30
nticks
– число пробных точек, используемых в графических процедурах.
Эта опция влияет на следующие графические объекты:
gr2d
: ellipse
, explicit
, parametric
и polar
.
gr3d
: parametric
.
Пример:
(%i1) load("draw")$ (%i2) draw2d(transparent = true, ellipse(0,0,4,2,0,180), nticks = 5, ellipse(0,0,4,2,180,180) )$
Значение по умолчанию: 10
adapt_depth
– максимальное число разбиений, используемое в адаптивных графиках.
Эта опция влияет только на двумерные explicit
функции.
Значение по умолчанию: ""
(пустая строка)
key
– наименование функции в легенде. Если key
– пустая строка, то ничего не изображается.
Эта опция влияет на следующие графические объекты:
gr2d
: points
, polygon
, rectangle
,
ellipse
, vector
, explicit
, implicit
,
parametric
и polar
.
gr3d
: points
, explicit
, parametric
и parametric_surface
.
Пример:
(%i1) load("draw")$ (%i2) draw2d(key = "Sinus", explicit(sin(x),x,0,10), key = "Cosinus", color = red, explicit(cos(x),x,0,10) )$
Значение по умолчанию: 30
xu_grid
– число координат первой переменной
(x
в явной и u
в параметрической трехмерной поверхности)
для построения сетки пробных точек.
Эта опция влияет на следующие графические объекты:
gr3d
: explicit
и parametric_surface
.
Пример:
(%i1) load("draw")$ (%i2) draw3d(xu_grid = 10, yv_grid = 50, explicit(x^2+y^2,x,-3,3,y,-3,3) )$
См. yv_grid
.
Значение по умолчанию: 30
yv_grid
– число координат второй переменной
(y
в явной и v
в параметрической трехмерной поверхности)
для построения сетки пробных точек.
Эта опция влияет на следующие графические объекты:
gr3d
: explicit
и parametric_surface
.
Пример:
(%i1) load("draw")$ (%i2) draw3d(xu_grid = 10, yv_grid = 50, explicit(x^2+y^2,x,-3,3,y,-3,3) )$
См. xu_grid
.
Значение по умолчанию: 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)) )$
Значение по умолчанию: none
Опция contour
позволяет пользователю выбрать, где изображать контурные линии.
Доступны следующие значения:
none
:
нет контурных линий.
base
:
контурные линии изображаются на xy плоскости.
surface
:
контурные линии изображаются на поверхности.
both
:
две контурные линии – на поверхности и на плоскости xy.
map
:
контурные линии проецируются на плоскость xy, а точка наблюдения расположена
вертикально над этой плоскостью.
Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.
Пример:
(%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) $
Значение по умолчанию: 5
Эта опция управляет способом изображения контуров.
contour_levels
может иметь значение в виде положительного целого числа,
списка трех чисел или произвольного набора чисел:
contour_levels
равно положительному целому числу n,
то будет изображено n контурных линий через равный интервал.
По умолчанию изображается пять равноудаленных контурных линий.
contour_levels
равно списку трех чисел [lowest,s,highest]
,
то контурные линии изображаются с lowest
по highest
с шагом s
.
contour_levels
равно набору чисел {n1, n2, ...}
,
то контурные линии изображаются для значений n1
, n2
, ...
Поскольку это глобальная графическая опция, ее расположение в описании сцены не имеет значения.
Примеры:
Контурные линии, расположенные на равном расстоянии. Число уровней можно настраивать.
(%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
.
Значение по умолчанию: 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)$
Значение по умолчанию: [50, 50]
ip_grid
задает решетку для первой пробной выборки для неявных графиков.
Эта опция влияет только на объекты типа implicit
.
Значение по умолчанию: [5, 5]
ip_grid_in
задает решетку для второй пробной выборки для неявных графиков.
Эта опция влияет только на объекты типа implicit
.
Значение по умолчанию: 10
x_voxel
есть число вокселей в направлении x, используемых в
алгоритме марширующих кубов, реализованном лоя трехмерных implicit
объектов.
Значение по умолчанию: 10
y_voxel
есть число вокселей в направлении y, используемых в
алгоритме марширующих кубов, реализованном лоя трехмерных implicit
объектов.
Значение по умолчанию: 10
z_voxel
есть число вокселей в направлении z, используемых в
алгоритме марширующих кубов, реализованном лоя трехмерных implicit
объектов.
Функция 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
строит объект, который описывает трехмерную сцену.
Аргументы есть графические опции и графические объекты.
Эта сцена интерпретируется последовательно: графические опции влияет на графические объекты,
неположенные справа от них. Некоторые графические опции глобально влияют на вид сцены.
Это список графических объектов, доступных для сцены в трех измерениях:
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")
.
Строит точки в двух и трех измерениях.
Следующие графические опции влияют на этот объект: 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,...])
:
строит на плоскости многоугольник с вершинами [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])
строит прямоугольник с противоположными вершинами
[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, ...])
Строит полоски с центрами на 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)
строит эллипс с центром в [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_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]) )$
Строит вектор в двух или трех измерениях.
Следующие графические опции влияют на этот объект: 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)
строит явную функцию 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)
строит неявную функцию, определенную 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)
изображает функцию
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)
строит функцию 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)
строит функцию 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))$
Строит параметрическую функцию в двух и трех переменных.
Следующие графические опции влияют на этот объект: 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)
строит изображение 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 находятся более развернутые примеры.
Значение по умолчанию: false
boundaries_array
– это массив, в котором графический объект geomap
ищет координаты границ.
Каждая компонента boundaries_array
есть массив чисел с плавающей точкой –
координат многоугольного сегмента или границы карты.
См. geomap
.
Строит карты в двух и трех измерениях.
Два измерения
Эта функция работает вместе с глобальной переменной 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)
.
Доступны следующие трехмерные проекции:
[spherical_projection,x,y,z,r]
: проецирует границы карты на сферу
радиуса r с центром в (x,y,z).
(%i1) load("draw")$ (%i2) load("worldmap")$ (%i3) draw3d(geomap(Australia), /* default projection */ geomap(Australia, [spherical_projection,2,2,2,3]))$
[cylindrical_projection,x,y,z,r,rc]
: ре-проецирует сферические границы карты
на цилиндр радиуса rc и осью, проходящей через полюса глобуса радиуса r с центром в
(x,y,z).
(%i1) load("draw")$ (%i2) load("worldmap")$ (%i3) draw3d(geomap([America_coastlines,Eurasia_coastlines], [cylindrical_projection,2,2,2,3,4]))$
[conic_projection,x,y,z,r,alpha]
: ре-проецирует сферические границы карты
на конус с углом alpha с осью,
проходящей через полюса глобуса радиуса r с центром в
(x,y,z). Оба северный и южный конусы касательны к сфере.
(%i1) load("draw")$ (%i2) load("worldmap")$ (%i3) draw3d(geomap(World_coastlines, [conic_projection,0,0,0,1,90]))$
См. http://www.telefonica.net/web2/biomates/maxima/gpdraw/geomap для более сложных примеров.
Строит параметрическую поверхность в трех измерениях.
Три измерения
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) )$
Изображает серию графических сцен. Ее аргументы есть 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
.
Эта функция является сокращением для
draw(gr2d(options, ..., graphic_object, ...))
.
Она может использоваться для изображения одиночной двумерной сцены.
Для того, чтобы использовать эту функцию, ее следует загрузить командой load("draw")
.
См. также draw
и gr2d
.
Эта функция является сокращением для
draw(gr3d(options, ..., graphic_object, ...))
.
Она может использоваться для изображения одиночной трехмерной сцены.
Для того, чтобы использовать эту функцию, ее следует загрузить командой load("draw")
.
См. также draw
и gr3d
.
Next: Функции и переменные для картин, Previous: Введение в пакет draw, Up: Пакет draw [Contents][Index]