Графические контуры
fcontour(
Строит графики контурных линий функции f
)z = f(x,y)
для постоянных уровней z
в течение интервала по умолчанию [-5 5]
для x
и y
.
fcontour(
графики на заданном интервале. Чтобы использовать один и тот же интервал для обоих f
,xyinterval
)x
и y
, задайте xyinterval
как двухэлементный вектор вида [min max]
. Чтобы использовать различные интервалы, задайте четырехэлементный вектор формы [xmin xmax ymin ymax]
.
fcontour(___,
задает стиль линии и цвет для контурных линий. Для примера, LineSpec
)'-r'
задает красные линии. Используйте эту опцию после любой из предыдущих комбинаций входных аргументов.
fcontour(___,
задает свойства линии, используя один или несколько аргументы пары "имя-значение".Name,Value
)
fcontour(
графики в осях заданные ax
,___)ax
вместо текущей системы координат.
возвращает fc
= fcontour(___)FunctionContour
объект. Использование fc
запрос и изменение свойств определенного FunctionContour
объект. Список свойств см. в разделе Свойства FunctionContour.
Постройте графики контуров в течение интервала по умолчанию и .
f = @(x,y) sin(x) + cos(y); fcontour(f)
Задайте интервал графического изображения как второй аргумент fcontour
. Когда вы строите несколько входы на разных интервалах в одних и тех же осях, пределы по осям корректируются, чтобы отобразить все данные. Это поведение позволяет вам построить кусочно-входные входы.
Постройте кусочно-линейный вход
.
fcontour(@(x,y) erf(x) + cos(y),[-5 0 -5 5]) hold on fcontour(@(x,y) sin(x) + cos(y),[0 5 -5 5]) hold off grid on
Постройте графики контуров как штриховые линии с шириной линии 2
.
f = @(x,y) x.^2 - y.^2; fcontour(f,'--','LineWidth',2)
График и на тех же осях при помощи hold on
.
fcontour(@(x,y) sin(x)+cos(y)) hold on fcontour(@(x,y) x-y) hold off
Постройте графики контуров . Присвойте объект контура функции переменной.
f = @(x,y) exp(-(x/3).^2-(y/3).^2) + exp(-(x+2).^2-(y+2).^2); fc = fcontour(f)
fc = FunctionContour with properties: Function: @(x,y)exp(-(x/3).^2-(y/3).^2)+exp(-(x+2).^2-(y+2).^2) LineColor: 'flat' LineStyle: '-' LineWidth: 0.5000 Fill: off LevelList: [0.2000 0.4000 0.6000 0.8000 1 1.2000 1.4000] Show all properties
Измените ширину линии на 1
и стиль линии к штриховой линии при помощи записи через точку для того, чтобы задать свойства объекта контура функции. Показать контуры рядом с 0
и 1
путем установки LevelList
свойство. Добавьте шкалу палитры.
fc.LineWidth = 1;
fc.LineStyle = '--';
fc.LevelList = [1 0.9 0.8 0.2 0.1];
colorbar
Создать график, похожий на закат, заполнив область между контурами
f = @(x,y) erf((y+2).^3) - exp(-0.65*((x-2).^2+(y-2).^2)); fcontour(f,'Fill','on');
Если вы хотите вместо этого интерполировать затенение, используйте fsurf
и установите его 'EdgeColor'
опция для 'none'
далее следует команда view(0,90)
.
Установите значения, при которых fcontour
рисует контуры при помощи 'LevelList'
опция.
f = @(x,y) sin(x) + cos(y);
fcontour(f,'LevelList',[-1 0 1])
Управление разрешением контурных линий при помощи 'MeshDensity'
опция. Увеличение 'MeshDensity'
может сделать более гладкие, более точные графики, в то время как уменьшение это может увеличить скорость графического изображения.
Создать два графика в размещении мозаики 2 на 1. На первом графике отобразите контуры . Углы квадратов не совпадают. Чтобы устранить эту проблему, увеличьте 'MeshDensity'
на 200
на втором графике. Теперь углы встречаются, показывая, что увеличивая 'MeshDensity'
вы увеличиваете разрешение.
f = @(x,y) sin(x).*sin(y); tiledlayout(2,1) nexttile fcontour(f) title('Default Mesh Density (71)') nexttile fcontour(f,'MeshDensity',200) title('Custom Mesh Density (200)')
График . Отображение линий сетки, добавление заголовка и добавление подписей по осям.
fcontour(@(x,y) x.*sin(y) - y.*cos(x), [-2*pi 2*pi], 'LineWidth', 2); grid on title({'xsin(y) - ycos(x)','-2\pi < x < 2\pi and -2\pi < y < 2\pi'}) xlabel('x') ylabel('y')
Установите значения деления оси X и связанные с ними метки путем установки XTickLabel
и XTick
свойства объекта осей. Доступ к объекту осей с помощью gca
. Точно так же установите значения деления по оси Y и связанные с ними метки.
ax = gca; ax.XTick = ax.XLim(1):pi/2:ax.XLim(2); ax.XTickLabel = {'-2\pi','-3\pi/2','-\pi','-\pi/2','0','\pi/2','\pi','3\pi/2','2\pi'}; ax.YTick = ax.YLim(1):pi/2:ax.YLim(2); ax.YTickLabel = {'-2\pi','-3\pi/2','-\pi','-\pi/2','0','\pi/2','\pi','3\pi/2','2\pi'};
f
- Функция для построения графикаФункция для построения графика, заданная как указатель на функцию для именованной или анонимной функции.
Задайте функцию формы z = f(x,y)
. Функция должна принять два матричных входных параметров и вернуть матричный выходной аргумент того же размера. Используйте операторы массивов вместо матричных для наилучшей эффективности. Для примера используйте .*
(times
) вместо * (mtimes
).
Пример: f = @(x,y) sin(x) + cos(y);
xyinterval
- Интервал графического изображения для x
и y
[–5 5 -5 5]
(по умолчанию) | вектор формы [min max]
| вектор формы [xmin xmax ymin ymax]
Интервал построения графиков для x
и y
, указанный в одной из следующих форм:
Вектор формы [min max]
- Используйте интервал [min max]
для обоих x
и y
.
Вектор формы [xmin xmax ymin ymax]
- Используйте интервал [xmin xmax]
для x
и [ymin ymax]
для y
.
ax
- Объект осейОбъект осей. Если вы не задаете объект осей, то fcontour
использует текущую систему координат.
LineSpec
- Стиль и цвет линииСтиль и цвет линии, заданные как вектор символов или строка, содержащая спецификатор стиля линии, спецификатор цвета или и то, и другое.
Пример: '--r'
задает красные штриховые линии
В этих двух таблицах перечислены стиль линии и опции цвета.
Спецификатор стиля линии | Описание |
---|---|
- | Сплошная линия (по умолчанию) |
-- | Штриховая линия |
: | Пунктирная линия |
-. | Штрих-точка линия |
Спецификатор цвета | Описание |
---|---|
| желтый |
| пурпурный |
| голубой |
| красный |
| зеленый |
| синий |
| белый |
| черный |
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
'MeshDensity',30
Перечисленные здесь свойства являются только подмножеством. Полный список см. в разделе Свойства FunctionContour.
'MeshDensity'
- Количество точек оценки в каждом направленииКоличество точек оценки в каждом направлении, заданное как число. Значение по умолчанию является 71
. Поскольку fcontour
использует адаптивную оценку, фактическое количество точек оценки больше.
Пример: 30
'Fill'
- Заливка между контурными линиями'off'
(по умолчанию) | логическое значение включения/выключенияЗаливка между контурными линиями, заданная как 'on'
или 'off'
, или как числовое или логическое 1
(true
) или 0
(false
). Значение 'on'
эквивалентно true, и 'off'
эквивалентно false
. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState
.
Значение 'on'
заполните пространства между контурными линиями цветом.
Значение 'off'
оставляет незаполненными пробелы между контурными линиями.
'LevelList'
- Уровни контураУровни контура, заданные как вектор значений z. По умолчанию, fcontour
функция выбирает значения, которые охватывают область значений значений в ZData
свойство.
Установка этого свойства устанавливает свойство связанного режима на ручное.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
'LevelStep'
- Интервал между контурными линиями0
(по умолчанию) | скалярное числовое значениеИнтервал между контурными линиями, заданный как скалярное числовое значение. Для примера задайте значение 2
для рисования контурных линий с шагами 2. По умолчанию LevelStep
определяется при помощи ZData
значения.
Установка этого свойства устанавливает свойство связанного режима на 'manual'
.
Пример: 3.4
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
'LineColor'
- Цвет контурных линий'flat'
(по умолчанию) | триплет RGB | шестнадцатеричный цветовой код | 'r'
| 'g'
| 'b'
| ...Цвет контурных линий, заданный как 'flat'
, триплет RGB, шестнадцатеричный цветовой код, название цвета или краткое имя. Чтобы использовать другой цвет для каждой линии контура, задайте 'flat'
. Цвет определяется значением контура линии, палитры и масштабированием значений данных в палитру. Для получения дополнительной информации о масштабировании цвета см. caxis
.
Чтобы использовать один и тот же цвет для всех контурных линий, задайте триплет RGB, шестнадцатеричный код цвета, название цвета или краткое имя.
Для пользовательского цвета укажите триплет RGB или шестнадцатеричный код цвета.
Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]
; для примера, [0.4 0.6 0.7]
.
Шестнадцатеричный код цвета - это вектор символов или строковый скаляр, который начинается с хэш-символа (#
), за которым следуют три или шесть шестнадцатеричных цифр, которые могут варьироваться от 0
на F
. Значения не зависят от регистра. Таким образом, цветовые коды '#FF8800'
, '#ff8800'
, '#F80'
, и '#f80'
являются эквивалентными.
Кроме того, вы можете задать имена некоторых простых цветов. В этой таблице перечислены именованные опции цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.
Название цвета | Краткое имя | Триплет RGB | Шестнадцатеричный цветовой код | Внешность |
---|---|---|---|---|
'red' | 'r' | [1 0 0] | '#FF0000' | |
'green' | 'g' | [0 1 0] | '#00FF00' | |
'blue' | 'b' | [0 0 1] | '#0000FF' | |
'cyan'
| 'c' | [0 1 1] | '#00FFFF' | |
'magenta' | 'm' | [1 0 1] | '#FF00FF' | |
'yellow' | 'y' | [1 1 0] | '#FFFF00' | |
'black' | 'k' | [0 0 0] | '#000000' | |
'white' | 'w' | [1 1 1] | '#FFFFFF' | |
'none' | Не применяется | Не применяется | Не применяется | Нет цвета |
Вот триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию MATLAB® использует на многих типах графиков.
Триплет RGB | Шестнадцатеричный цветовой код | Внешность |
---|---|---|
[0 0.4470 0.7410] | '#0072BD' | |
[0.8500 0.3250 0.0980] | '#D95319' | |
[0.9290 0.6940 0.1250] | '#EDB120' | |
[0.4940 0.1840 0.5560] | '#7E2F8E' | |
[0.4660 0.6740 0.1880] | '#77AC30' | |
[0.3010 0.7450 0.9330] | '#4DBEEE' | |
[0.6350 0.0780 0.1840] | '#A2142F' |
'LineWidth'
- Ширина линии0.5
(по умолчанию) | положительное значениеШирина линии, заданная как положительное значение в точках, где 1 точка = 1/72 дюйма. Если у линии есть маркеры, ширина линии также влияет на ребра маркера.
Ширина линии не может быть более тонкой, чем ширина пикселя. Если вы задаете ширину линии значение, которое меньше, чем ширина пикселя в вашей системе, линия отображается как один пиксель в ширину.
fc
- Один или несколько FunctionContour
объектыОдин или несколько FunctionContour
объекты, возвращенные в виде скаляра или вектора. Можно использовать эти объекты для запроса и изменения свойств определенного контурного графика. Список свойств см. в разделе Свойства FunctionContour.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.