Layout, Rows, Columns

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

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

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

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

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

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

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

Layout: Tabular

Rows, Columns: 0

Описание

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

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

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

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

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

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

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

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

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

  • С Layout = Absolute, значения для левого нижнего угла сцены, а также ее ширины и высоты должны быть заданы как абсолютные физические длины, такие как Left = 3.0*unit::mm, Bottom = 4.5*unit::mmwidth = 10*unit::cmвысота = 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, Bottomwidth, и 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, сцена приписывает Leftwidth, Bottomвысота должен быть дан как части ширины холста и высоты, соответственно:

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 и т.д. Это отличает атрибуты сцены от атрибутов холста WidthBorderWidth и т.д.

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