Построение графика с маркерами

Добавление маркеров к линейному графику может быть полезным способом отличить несколько строк или подсветить конкретные точки данных. Добавьте маркеры одним из этих способов:

  • Включайте символ маркера в строчку с дополнительными параметрами, такую как plot(x,y,'-s').

  • Задайте свойство Marker как пару "имя-значение", такую как plot(x,y,'Marker','s').

Для списка опций маркера смотрите Поддерживаемые Символы маркера.

Добавление маркеров к линейному графику

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

x = linspace(0,10,100);
y = exp(x/10).*sin(4*x);
plot(x,y,'-o')

Если вы задаете символ маркера и не задаете стиль линии, то plot отображает только маркеры без строки, соединяющей их.

plot(x,y,'o')

Также можно добавить маркеры к строке путем установки свойства Marker как пары "имя-значение". Например, plot(x,y,'Marker','o') строит график с круговыми маркерами.

Определение размера маркера и цвета

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

  • 'MarkerSize' - Размер маркера, который задан как положительное значение.

  • MarkerEdgeColor - Цвет контура маркера, который задан как название цвета или триплет RGB.

  • 'MarkerFaceColor' - Внутренний цвет маркера, который задан как название цвета или триплет RGB.

Задайте цвета с помощью или вектора символа названия цвета, такие как 'red', или триплета RGB, такие как [0.4 0.6 0.7]. Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1].

x = linspace(0,10,50);
y = sin(x);
plot(x,y,'-s','MarkerSize',10,...
    'MarkerEdgeColor','red',...
    'MarkerFaceColor',[1 .6 .6])

Управление размещением маркеров вдоль строки

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

x = linspace(0,10,1000);
y = exp(x/10).*sin(4*x);
plot(x,y,'-*','MarkerIndices',1:10:length(y))

Отображение маркеров в максимальных и минимальных точках данных

Создайте вектор случайных данных и найдите индекс минимальных и максимальных значений. Затем постройте график данных. Отобразите красные маркеры в минимальных и максимальных значениях данных путем установки свойства MarkerIndices на вектор индексных значений.

x = 1:100;
y = rand(100,1);
idxmin = find(y == max(y));
idxmax = find(y == min(y));
plot(x,y,'-p','MarkerIndices',[idxmin idxmax],...
    'MarkerFaceColor','red',...
    'MarkerSize',15)

Вернитесь к местоположениям маркера по умолчанию

Измените местоположения маркера, затем вернитесь назад к местоположениям по умолчанию.

Постройте график и отображение большие, квадратные маркеры каждые пять точек данных. Присвойте объект линии на графике переменному p так, чтобы можно было получить доступ к его свойствам после того, как это создается.

x = linspace(0,10,25);
y = x.^2;
p = plot(x,y,'-s');
p.MarkerSize = 10;
p.MarkerIndices = 1:5:length(y);

Сбросьте свойство MarkerIndices к значению по умолчанию, которое является вектором всех индексных значений от 1 до количества точек данных.

p.MarkerIndices = 1:length(y);

Поддерживаемые символы маркера

ЗначениеОписание
OКруг
'+'Знак «плюс»
'*'Звездочка
'.'Точка
XКрест
square' или 's'Квадрат
'diamond' или 'd'Ромб
'^'Треугольник, направленный вверх
VНисходящий треугольник
'>'Треугольник, указывающий вправо
'<'Треугольник, указывающий влево
pentagram' или 'p'Пятиконечная звезда (пентаграмма)
'hexagram' or 'h'Шестиконечная звезда (гексаграмма)
'none'Никакие маркеры

Строчка с дополнительными параметрами не поддерживает опции маркера, которые являются больше чем одним символом. Используйте одну символьную альтернативу или установите свойство Marker вместо этого.

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

Функции

Свойства

Была ли эта тема полезной?