Layout, Rows, Columns

Расположение/размещение нескольких сцен в холсте

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.

Сводные данные значения

LayoutДополнительныйAbsolute, Horizontal, Relative, Tabular или Vertical
Columns, RowsДополнительныйПоложительное целое число

Графические примитивы

ОбъектыЗначения по умолчанию
plot::Canvas

Размещение: Tabular

Rows, Columns: 0

Описание

Layout определяет расположение нескольких сцен в холсте.

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

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

Если холст содержит больше чем одну сцену, атрибут Layout определяет, как сцены располагаются в холсте:

  • С настройкой по умолчанию Layout = Tabular, последовательность сцен в холсте располагается как таблица с несколькими столбцами и строками. Количество столбцов или строк может быть выбрано через атрибуты Columns или Rows, соответственно. Если ни один из этих атрибутов не дан, табличная схема размещения выбирает некоторые подходящие значения, автоматически.

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

  • Layout = Horizontal является ярлыком для Layout = Tabular, Rows = 1. Сцены помещаются рядом в одной строке.

  • Layout = Vertical является ярлыком для Layout = Tabular, Columns = 1. Сцены помещенный друг ниже друга в отдельном столбце.

Настройки Layout = Absolute и Layout = Relative выключает автоматический режим размещения и позволяет располагать каждую сцену через атрибуты сцены Left и Bottom. Эти атрибуты определяют положение левого нижнего угла сцены и могут быть установлены отдельно для каждой сцены.

  • С Layout = Absolute, значения для левого нижнего угла сцены, а также ее ширины и высоты должны быть заданы как абсолютные физические длины, такие как Left = 3.0*unit::mm, Bottom = 4.5*unit::mm, Width = 10*unit::cm, Height = 4*unit::inch.

  • С Layout = Relative, эти значения должны быть заданы как части высоты холста и ширины. Например,

    Layout = Relative,

    Left = 0.3, Bottom = 0.2, Width = 0.5, Height = 0.5

    эквивалентно

    Layout = Absolut,

    Left = 0.3*canvaswidth, Bottom = 0.2*canvasheight,

    Width = 0.5*canvaswidth, Height = 0.5*canvasheight,

    где canvaswidth и canvasheight являются физической шириной и высотой холста.

С Layout = Absolute и Layout = Relative могут быть созданы перекрывающиеся сцены. В такой ситуации может быть полезно создать прозрачные сцены (без фона) через BackgroundTransparent = TRUE.

Примеры

Пример 1

Мы задаем четыре сцены:

S1 := plot::Scene3d(plot::Sphere(1, [0, 0, 0],
                                 Color = RGB::Red),
                    BorderWidth = 0.2*unit::mm,
                    BorderColor = RGB::Black):
S2 := plot::Scene3d(plot::Box(-1..1, -1..1, -1..1,
                              Color = RGB::Green),
                    BorderWidth = 0.2*unit::mm,
                    BorderColor = RGB::Black):
S3 := plot::Scene3d(plot::Cone(1, [0, 0, -1], [0, 0, 1],
                               Color = RGB::Blue),
                    BorderWidth = 0.2*unit::mm,
                    BorderColor = RGB::Black):
S4 := plot::Scene3d(plot::Cone(1, [0, 0, 1], [0, 0, -1],
                               Color = RGB::Orange),
                    BorderWidth = 0.2*unit::mm,
                    BorderColor = RGB::Black):

Эти сцены расположены в холст в различных способах:

plot(S1, S2, S3, S4, Layout = Tabular, 
     Height = 80*unit::mm, Width = 80*unit::mm):

plot(S1, S2, Layout = Horizontal,
     Height = 40*unit::mm, Width = 80*unit::mm):

plot(S1, S2, Layout = Vertical,
     Height = 80*unit::mm, Width = 40*unit::mm):

Для явного размещения сцен мы устанавливаем значения для Left, Bottom, Width и атрибутов Height сцен:

S1::Left := 0:            S1::Bottom := 15*unit::mm: 
S1::Width := 60*unit::mm: S1::Height:= 60*unit::mm:
S2::Left := 60*unit::mm:  S2::Bottom :=  0*unit::mm: 
S2::Width := 40*unit::mm: S2::Height:= 30*unit::mm:
S3::Left := 60*unit::mm:  S3::Bottom := 30*unit::mm: 
S3::Width := 40*unit::mm: S3::Height:= 30*unit::mm:
S4::Left := 60*unit::mm:  S4::Bottom := 60*unit::mm: 
S4::Width := 40*unit::mm: S4::Height:= 30*unit::mm:

Мы используем Layout = Absolute:

plot(S1, S2, S3, S4, Layout = Absolute,
     BorderWidth = 0.5*unit::mm, BorderColor = RGB::Black,
     BackgroundColor = RGB::LightGrey,
     Height = 90*unit::mm, Width = 100*unit::mm):

Для Layout = Relative сцена приписывает Left, Width, Bottom, Height должен быть дан как части ширины холста и высоты, соответственно:

S1::Left := 0:      S1::Width := 0.6: 
S1::Bottom := 0:    S1::Height := 0.6:
S2::Left := 0:      S2::Width := 0.5:
S2::Bottom := 0.6:  S2::Height := 0.4:
S3::Left := 0.5:    S3::Width := 0.5:
S3::Bottom := 0.6:  S3::Height := 0.4:
S4::Left := 0.58:   S4::Width := 0.4: 
S4::Bottom := 0.35: S4::Height := 0.4:
S4::BackgroundTransparent := TRUE:
plot(S1, S2, S3, S4, Layout = Relative,
     BorderWidth = 0.5*unit::mm, BorderColor = RGB::Black,
     BackgroundColor = RGB::LightGrey,
     Height = 87*unit::mm, Width = 104*unit::mm):

delete S1, S2, S3, S4:

Пример 2

Мы демонстрируем размещение холста с Layout = Relative. Кроме заголовков сцены и расположения через Bottom и Left, все атрибуты сцены установлены в вызове plot через спецификации, такие как plot::Scene2d::Width и т.д. Это отличает атрибуты сцены от атрибутов холста Width, BorderWidth и т.д.

S1 := plot::Scene2d(plot::Function2d(sin(x), x = 0..2*PI),
                    Left = 0.02, Bottom = 0.46,
                    Header = "the sine function"):
S2 := plot::Scene2d(plot::Function2d(cos(x), x = 0..2*PI),
                    Left = 0.51, Bottom = 0.46,
                    Header = "the cosine function"):
S3 := plot::Scene2d(plot::Function2d(tan(x), x = 0..PI),
                    Left = 0.02, Bottom = 0.02,
                    Header = "the tan function"):
S4 := plot::Scene2d(plot::Function2d(cot(x), x = 0..PI),
                    Left = 0.51, Bottom = 0.02,
                    Header = "the cot function"):
plot(S1, S2, S3, S4, Layout = Relative,
     Width = 120*unit::mm, Height = 80*unit::mm,
     BorderWidth = 0.5*unit::mm,
     HeaderFont = ["Times New Roman", 18, Bold],
     Header = "trigonometric functions",
     plot::Scene2d::Width = 0.475,
     plot::Scene2d::Height = 0.42,
     plot::Scene2d::BorderWidth = 0.2*unit::mm,
     plot::Scene2d::HeaderFont =
                ["Times New Roman", Italic, 12]):

Наконец, мы демонстрируем атрибуты Rows и Columns. Автоматическое табличное размещение игнорирует явное расположение сцен и выбирает следующее расположение:

plot(S1, S2, S3, S4)

Мы явным образом запрашиваем три строки:

plot(S1, S2, S3, S4, Rows = 3)

Мы явным образом запрашиваем три столбца:

plot(S1, S2, S3, S4, Columns = 3)

Мы генерируем пустую сцену:

empty := plot::Scene2d(Axes = None):

Табличное размещение заполнено в пустыми сценами:

plot(S1, S2, empty, S3, empty, S4, Rows = 3)

plot(S1, S2, S3, empty, S4, empty, Columns = 3)

delete S1, S2, S3, S4, empty:

Смотрите также

Функции MuPAD