Атрибуты

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

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

Библиотека plot предусматривает больше чем 400 атрибутов подстройку вывода графических данных. Из-за этого большого количества атрибуты сгруппированы в различные категории в обозревателе объектов (см. раздел Viewer, Браузер и Инспектора: Интерактивная Манипуляция) и документация:

категориязначение
Анимация параметры, важные для анимаций
Аннотация нижний колонтитул, заголовок, заголовки и легенды
Оси стиль осей и заголовки осей
Камеры камеры в 3D
Световые сигналы световые сигналы в 3D
Вычисление численная оценка (поймали в сети параметры),
Определение параметры, которые изменяют сам объект
Линии сетки линии сетки в фоновом режиме (управления)
Размещение параметры размещения для холста и сцен
Стиль параметры, которые не изменяют объекты, но их представление (видимость, цвет, ширина линии, размер точки и т.д.)
Стиль стрелок разработайте параметры для стрелок
Стиль линии разработайте параметры для объектов линии
Укажите стиль разработайте параметры для точечных объектов
Поверхностный стиль разработайте параметры для объектов подложки в 3D и областях заливки в 2D
Отметки деления отметки деления осей: разработайте и маркирует

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

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

Большинство атрибутов имеет значение по умолчанию, которое используется, если никакое значение не задано явным образом. Как пример, мы считаем атрибут LinesVisible, который используется несколькими примитивами, такими как plot::Box, plot::Circle2d, plot::Cone, plot::Curve2d, plot::Raster и т.д. Несмотря на то, что они все используют тот же атрибут под названием LinesVisible, его значение по умолчанию отличается среди различных типов примитивов. Определенные значения по умолчанию доступны слотами plot::Box::LinesVisible, plot::Circle2d::LinesVisible и т.д.:

plot::getDefault(plot::Box::LinesVisible),
plot::getDefault(plot::Circle2d::LinesVisible),
plot::getDefault(plot::Cone::LinesVisible),
plot::getDefault(plot::Raster::LinesVisible)

Если какое-либо из значений по умолчанию, обеспеченных системой MuPAD®, не кажется подходящим для ваших приложений, изменяет эти значения по умолчанию через plot::setDefault:

plot::setDefault(plot::Box::LinesVisible = FALSE)

(Возвращаемое значение является ранее допустимым значением по умолчанию.) Несколько значений по умолчанию могут быть изменены одновременно:

plot::setDefault(plot::Box::LinesVisible = FALSE,
                 plot::Circle2d::LinesVisible = FALSE,
                 plot::Circle2d::Filled = TRUE)

plot::getDefault(plot::Box::LinesVisible)

Наследование атрибутов

Установка значений по умолчанию для атрибутов довольно сложна. Примите, что у вас есть две сцены, которые должны быть отображены в одном одном холсте. Обе сцены состоят из 51 графической точки, каждого:

points1 := plot::Point2d(i/50*PI, sin(i/50*PI)) $ i = 0..50:
points2 := plot::Point2d(i/50*PI, cos(i/50*PI)) $ i = 0..50:
S1 := plot::Scene2d(points1):
S2 := plot::Scene2d(points2):
plot(S1, S2):

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

plot(S1, S2, PointColor = RGB::Red):

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

S1 := plot::Scene2d(points1, PointColor = RGB::Red):
S2 := plot::Scene2d(points2, PointColor = RGB::Blue):
plot(S1, S2):

Вот общее правило для установки значений по умолчанию в графическом дереве (см. Полное Изображение: Графические Деревья):

Примечание

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

Значение по умолчанию может быть перезаписано другим значением в каждом узле далее вниз в поддереве (например, наконец, определенным значением в примитивах). В следующем вызове 'красный' цвет по умолчанию выбран в холсте. Это значение принимается и используется в первой сцене. Вторая сцена выбирает цвет по умолчанию 'синее' переопределение значения по умолчанию 'красный' набор в холсте. Кроме того, существует дополнительное очко с набором цветов явным образом к 'черному цвету'. Эта точка игнорирует набор значений по умолчанию далее в древовидной иерархии:

extrapoint := plot::Point2d(1.4, 0.5, PointSize = 3*unit::mm,
                            PointColor = RGB::Black):
S1 := plot::Scene2d(points1, extrapoint):
S2 := plot::Scene2d(points2, extrapoint, 
                    PointColor = RGB::Blue):
plot(plot::Canvas(S1, S2, PointColor = RGB::Red)):

Следующий вызов генерирует тот же результат. Обратите внимание на то, что команда plot автоматически создает объект холста и передает атрибут PointColor = RGB::Red холсту:

plot(S1, S2, PointColor = RGB::Red):

Мы отмечаем, что существуют различные примитивы, которые реагируют на тот же атрибут. Мы использовали LinesVisible в предыдущем разделе, чтобы продемонстрировать этот факт. Одно из правил для наследования атрибутов в графическом дереве:

Примечание

Если атрибут, такой как LinesVisible = TRUE задан в некотором узле графического дерева, все примитивы ниже этого узла, которые реагируют на этот атрибут, используют заданное значение в качестве значения по умолчанию.

Если тип, определенный атрибут, такой как plot::Circle2d::LinesVisible = TRUE задан, новое значение по умолчанию, допустим только для примитивов того определенного типа.

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

rectangle := plot::Rectangle(0..1, 0 ..1):
circles := plot::Circle2d(0.05, [frandom(), frandom()]) 
                                                  $ i = 1..100:
plot(rectangle, circles, Axes = Frame):

Мы хотим превратить круги в заполненные круги Filled = TRUE, LinesVisible = FALSE:

plot(rectangle, circles, 
     Filled = TRUE, FillPattern = Solid, 
     LinesVisible = FALSE, Axes = Frame):

Это не совсем, что мы хотели: Не только круги, но также и прямоугольник реагирует на атрибуты Filled, FillPattern и LinesVisible. Следующая команда ограничивает эти атрибуты кругами:

plot(rectangle, circles, 
     plot::Circle2d::Filled = TRUE, 
     plot::Circle2d::FillPattern = Solid, 
     plot::Circle2d::LinesVisible = FALSE,
     Axes = Frame):

Примитивы, запрашивающие специальную сцену Атрибуты: “подсказки”

Значения по умолчанию для атрибутов выбраны таким способом, которым они производят разумные изображения в “типичных” командах plot. Например, типом осей по умолчанию в 3D сценах является Axes = Boxed, потому что это - самый соответствующий тип осей в большинстве 3D графиков:

plot::getDefault(plot::CoordinateSystem3d::Axes)

Однако существуют исключения. Например, график, содержащий 3D pie chart, не должен, вероятно, иметь никаких осей вообще. Поскольку не желательно использовать Axes = None в качестве настройки по умолчанию для всех графиков, исключительным примитивам, таким как plot::Piechart3d дают шанс заменить оси по умолчанию автоматически. В графике круговой диаграммы никакие оси не используются по умолчанию:

plot(plot::Piechart3d([20, 30, 10, 7, 20, 13],
             Titles = [1 = "20%", 2 = "30%", 3 = "10%",
                       4 =  "7%", 5 = "20%", 6 = "13%"])):

Обратите внимание на то, что Axes является атрибутом сцены, который не может быть обработан объектами круговой диаграммы непосредственно. Следовательно, отдельный механизм для запроса специальных атрибутов сцены примитивами реализован: так называемые “подсказки”.

“Подсказка” является атрибутом одного из узлов суперординаты в графическом дереве, например, атрибутом системы координат, сцены или холста. Страницы справки примитивов дают информацию о том, какие “подсказки” отправляются примитивом. Если несколько примитивов отправляют конфликтные подсказки, первая “подсказка” используется.

“Подсказки” реализованы внутренне и не могут быть выключены пользователем. Обратите внимание, однако, что концепция “подсказок” только касается значений по умолчанию для атрибутов. Можно всегда задавать атрибут явным образом, если вы думаете, что значение по умолчанию или “подсказка” не являются соответствующими. Например, мы явным образом запрашиваем Axes = Boxed в следующем вызове:

plot(plot::Piechart3d([20, 30, 10, 7, 20, 13],
             Titles = [1 = "20%", 2 = "30%", 3 = "10%",
                       4 =  "7%", 5 = "20%", 6 = "13%"]),
     Axes = Boxed):

Страницы справки атрибутов

У нас есть беглый взгляд в типичной странице справки для атрибута графика, чтобы объяснить информацию, предоставленную там:

Элемент “Приемлемые Значения” утверждает тип номера n, который допустим при передаче атрибутов UMesh = n, VMesh = n и т.д.

Элемент “Тип атрибута: наследованные” состояния, что эти атрибуты могут не только быть заданы в генерирующемся вызове графических примитивов. Они могут также быть заданы в более высоких узлах графического дерева, которое будет наследовано к примитивам в соответствующем поддереве (см. раздел Inheritance of Attributes).

Разделы “Типы объектов, реагирующие на UMesh” и т.д., предоставляют полные списки всех примитивов, реагирующих на атрибут (атрибуты) вместе с определенными значениями по умолчанию.

Раздел “Details” дает дополнительную информацию о семантике атрибута (атрибутов). Наконец, существуют “Примеры” команд plot с помощью описанного атрибута (атрибутов).