semilogy

Полулогарифмический график (y ось имеет логарифмическую шкалу)

  • Semilogy plot

Описание

пример

semilogy(X,Y) строит графики x - и y - координат с помощью линейной шкалы на оси x -и логарифмической шкалы базы-10 на оси y -.

  • Чтобы построить график набора координат, соединенных сегментами линии, задайте X и Y как векторы той же длины.

  • Чтобы построить несколько наборов координат на одном и том же наборе осей, задайте хотя бы один из X или Y как матрица.

пример

semilogy(X,Y,LineSpec) построение графика с использованием заданного стиля линии, маркера и цвета.

пример

semilogy(X1,Y1,...,Xn,Yn) строит несколько пар x - и y - координат на одном и том же наборе осей. Используйте этот синтаксис как альтернативу указанию координат в качестве матриц.

пример

semilogy(X1,Y1,LineSpec1,...,Xn,Yn,LineSpecn) присваивает определенные стили линии, маркеры и цвета каждой паре x - y. Можно задать LineSpec для одних x - y пары и опускать для других. Для примера, semilogy(X1,Y1,'o',X2,Y2) задает маркеры для первой пары x - y, но не для второй пары.

пример

semilogy(Y) графики Y против неявного набора x -кординатов.

  • Если Y является вектором, x -координаты варьируются от 1 до length(Y).

  • Если Y является матрицей, график содержит по одной линии для каждого столбца в Y. Значение x -cordinates варьируется от 1 до количества строк в Y.

Если Y содержит комплексные числа, semilogy строит графики воображаемой части Y от действительной части Y. Однако, если вы задаете оба X и Y, MATLAB® игнорирует мнимую деталь.

semilogy(Y,LineSpec) задает стиль линии, цвет и маркер.

пример

semilogy(___,Name,Value) задает Line свойства с использованием одного или нескольких Name,Value аргументы в виде пар. Свойства применяются ко всем нанесенным на построенные линии. Задайте Name,Value пар после всех аргументов в любом из предыдущих синтаксисов. Список свойств см. в разделе «Свойства линии».

пример

semilogy(ax,___) отображение графика в целевой оси. Задайте оси как первый аргумент в любом из предыдущих синтаксисов.

пример

lineobj = semilogy(___) возвращает Line объект или массив Line объекты. Использование lineobj для изменения свойств графика после его создания. Список свойств см. в разделе «Свойства линии».

Примеры

свернуть все

Создайте вектор x-координат и вектор y-координат. Создайте логарифмический график x и y, и вызвать grid функция для отображения линий сетки.

x = 1:100;
y = x.^2;
semilogy(x,y)
grid on

Figure contains an axes. The axes contains an object of type line.

Создайте вектор x-координат и двух векторов y-координат. Постройте график двух линий путем передачи разделенных запятыми пар x-y в semilogy.

x = 1:100;
y1 = x.^2;
y2 = x.^3;
semilogy(x,y1,x,y2)
grid on

Figure contains an axes. The axes contains 2 objects of type line.

Задайте векторные x в качестве рассрочки по 20-летнему кредиту. Задайте векторные y как совокупная стоимость кредита в 1000 долларов с процентной ставкой 8%. Постройте график совокупной стоимости для каждого взноса.

P = 1000; 
npayments = 240;  
rate = 0.08/12; 
mpayment = P*(rate*(1+rate)^npayments)/(((1+rate)^npayments) - 1);
x = 1:240;
y = x * mpayment;
semilogy(x,y);
grid on

Figure contains an axes. The axes contains an object of type line.

Измените значения деления по оси Y и метки такта путем вызова yticks и yticklabels функций. Затем создайте метки оси X и Y путем вызова xlabel и ylabel функций.

yticks([10 50 100 500 1000])
yticklabels({'$10','$50','$100','$500','$1000'})
xlabel ('Installment')
ylabel('Cumulate Cost')

Figure contains an axes. The axes contains an object of type line.

Создайте множество x и y-координаты и постройте график на логарифмически-линейном графике. Задайте стиль линии следующим 'o' отображение круговых маркеров без соединительных линий. Задайте цвет заливки маркера как триплет RGB [0 0.447 0.741], что соответствует тёмному оттенку синего.

x = linspace(1,1000,15);
y = (1./x) * 10000;
semilogy(x,y,'o','MarkerFaceColor',[0 0.447 0.741])
grid on

Figure contains an axes. The axes contains an object of type line.

Создайте два множеств x и y-координаты и отобразите их на логарифмически-линейном графике. Задайте штриховую линию для первого набора координат. Затем отобразите легенду в верхнем левом углу графика по вызову legend функция и определение местоположения следующим 'northwest'.

x = 1:100;
y1 = x.^2;
y2 = x.^3;
semilogy(x,y1,'--',x,y2)
legend('x^2','x^3','Location','northwest')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent x^2, x^3.

Когда вы задаете только один вектор координат, semilogy строит графики этих координат относительно значений 1:length(y). Для примера задайте y как вектор 5 значений. Создайте логарифмический график y.

y = [0.1 0.2 1 10 1000];
semilogy(y)
grid on

Figure contains an axes. The axes contains an object of type line.

Если вы задаете y как матрица столбцы y строятся на графике относительно значений 1:size(y,1). Для примера задайте y как матрица 5 на 3 и передать ее в semilogy функция. Получившийся график содержит 3 линии, каждая из которых имеет x-координаты, которые варьируются от 1 на 5.

y = [ 0.1    1     10
      0.2    2     20
      1.0    10    100
      10     100   1000
      1000   10000 100000];

semilogy(y)
grid on

Figure contains an axes. The axes contains 3 objects of type line.

Создайте мозаику графика размещения в 'flow' расположение плитки, так что оси заполняют доступное пространство в размещении. Далее вызовите nexttile функция, чтобы создать объект осей и вернуть его как ax1. Затем отобразите логарифмический график путем передачи ax1 на semilogy функция.

tiledlayout('flow')
ax1 = nexttile;
x = 1:100;
y1 = x.^2;
semilogy(ax1,x,y1)

Figure contains an axes. The axes contains an object of type line.

Повторите процесс, чтобы создать второй логарифмический график.

ax2 = nexttile;
y2 = 1./x;
semilogy(ax2,x,y2)

Figure contains 2 axes. Axes 1 contains an object of type line. Axes 2 contains an object of type line.

Создайте логарифмический график, содержащий две линии, и верните объекты линий в переменную slg.

x = 1:100;
y1 = x.^2;
y2 = x.^3;
slg = semilogy(x,y1,x,y2);

Figure contains an axes. The axes contains 2 objects of type line.

Измените ширину первой линия на 3, и смените цвет второй линии на фиолетовый.

slg(1).LineWidth = 3;
slg(2).Color = [0.4 0 1];

Figure contains an axes. The axes contains 2 objects of type line.

Вставка NaN значения везде, где есть разрывы в ваших данных. The semilogy функция отображает погрешности в этих расположениях.

Создайте пару векторов с координатами X и Y. Замените двадцатую координату y на NaN значение. Затем создайте логарифмический график x и y.

x = 1:50;
y = x.^2;
y(20) = NaN;
semilogy(x,y)

Figure contains an axes. The axes contains an object of type line.

Входные параметры

свернуть все

Координаты линейной шкалы, заданные как скаляр, вектор или матрица. Размер и форма X зависит от формы данных и типа графика, который вы хотите создать. В этой таблице описываются наиболее распространенные ситуации.

Тип графикаКак задать координаты
Одна точка

Задайте X и Y в качестве скаляров и включают маркер. Для примера:

semilogy(1,2,'o')

Один набор точек

Задайте X и Y как любая комбинация строки или векторов-столбцов той же длины. Для примера:

semilogy([1 2 3],[4; 5; 6])

Несколько наборов точек
(с использованием векторов)

Задайте последовательные пары X и Y векторы. Для примера:

semilogy([1 2 3],[4 5 6],[1 2 3],[7 8 9])

Несколько наборов точек
(использование матриц)

Если все наборы имеют одинаковые x - или y - координаты, задайте общие координаты как вектор, а другие координаты как матрицу. Длина вектора должна совпадать с одним из размерностей матрицы. Для примера:

semilogy([1 2 3],[4 5 6; 7 8 9])
Если матрица квадратная, semilogy Графики по одной линии для каждого столбца в матрице.

Кроме того, задайте X и Y как матрицы равного размера. В этом случае, semilogy строит графики для каждого столбца Y по соответствующему столбцу X. Для примера:

semilogy([1 2 3; 4 5 6],[7 8 9; 10 11 12])

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration

Журнал координат шкалы, заданное как скаляр, вектор или матрица. Размер и форма Y зависит от формы данных и типа графика, который вы хотите создать. В этой таблице описываются наиболее распространенные ситуации.

Тип графикаКак задать координаты
Одна точка

Задайте X и Y в качестве скаляров и включают маркер. Для примера:

semilogy(1,2,'o')

Один набор точек

Задайте X и Y как любая комбинация строки или векторов-столбцов той же длины. Для примера:

semilogy([1 2 3],[4; 5; 6])

Несколько наборов точек
(с использованием векторов)

Задайте последовательные пары X и Y векторы. Для примера:

semilogy([1 2 3],[4 5 6],[1 2 3],[7 8 9])

Несколько наборов точек
(использование матриц)

Если все наборы имеют одинаковые x - или y - координаты, задайте общие координаты как вектор, а другие координаты как матрицу. Длина вектора должна совпадать с одним из размерностей матрицы. Для примера:

semilogy([1 2 3],[4 5 6; 7 8 9])
Если матрица квадратная, semilogy Графики по одной линии для каждого столбца в матрице.

Кроме того, задайте X и Y как матрицы равного размера. В этом случае, semilogy строит графики для каждого столбца Y по соответствующему столбцу X. Для примера:

semilogy([1 2 3; 4 5 6],[7 8 9; 10 11 12])

semilogy может исключить координаты в некоторых случаях:

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

  • Если все координаты шкалы журнала отрицательные, все значения отображаются в шкале журнала с соответствующим знаком.

  • Журналы значения шкалы нуля не отображаются.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Стиль линии, цвет и маркер задается как вектор символов или строка , содержащая символы. Символы могут появиться в любом порядке. Вам не нужно задавать все три характеристики (стиль линии, маркер и цвет). Например, если вы опускаете стиль линии и задаете маркер, то на графике отображается только маркер и нет линии.

Пример: '--or' - красная штриховая линия с маркерами кругов

Стиль линииОписание
-Сплошная линия
--Штриховая линия
:Пунктирная линия
-.Штрих-точка линия
МаркерОписание
'o'Круг
'+'Плюс знак
'*'Звездочка
'.'Точка
'x'Крест
'_'Горизонтальная линия
'|'Вертикальная линия
's'Квадрат
'd'Алмаз
'^'Направленный вверх треугольник
'v'Нисходящий треугольник
'>'Треугольник , указывающий вправо
'<'Треугольник , указывающий влево
'p'Пентаграмма
'h'Hexagram
ЦветОписание

y

желтый

m

пурпурный

c

голубой

r

красный

g

зеленый

b

синий

w

белый

k

черный

Целевые оси, заданные как Axes объект. Если вы не задаете оси и если текущие системы координат Декартовы, то semilogy использует текущую систему координат.

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: semilogy([1 2],[3 4],'Color','red') задает красную линию для графика.

Примечание

Перечисленные здесь свойства являются только подмножеством. Полный список см. в разделе Свойств линии».

Цвет, заданный как триплет RGB, шестнадцатеричный код цвета, название цвета или краткое имя. Заданный цвет задает цвет линии. Он также устанавливает цвет ребра маркера, когда MarkerEdgeColor для свойства задано значение 'auto'.

Для пользовательского цвета укажите триплет 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'

Ширина линии, заданная как положительное значение в точках, где 1 точка = 1/72 дюйма. Если у линии есть маркеры, ширина линии также влияет на ребра маркера.

Ширина линии не может быть более тонкой, чем ширина пикселя. Если вы задаете ширину линии значение, которое меньше, чем ширина пикселя в вашей системе, линия отображается как один пиксель в ширину.

Размер маркера, заданный как положительное значение в точках, где 1 точка = 1/72 дюйма.

Цвет контура маркера, заданный как 'auto', триплет RGB, шестнадцатеричный цветовой код, название цвета или краткое имя. Значение по умолчанию 'auto' использует тот же цвет, что и Color свойство.

Для пользовательского цвета укажите триплет 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'

Цвет заливки маркера, заданный как 'auto', триплет RGB, шестнадцатеричный цветовой код, название цвета или краткое имя. The 'auto' опция использует тот же цвет, что и Color свойство родительской оси. Если вы задаете 'auto' и блок вывода осей невидим, цвет заливки маркера является цветом рисунка.

Для пользовательского цвета укажите триплет 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'

Совет

  • semilogy функция использует цвета и стили линии на основе ColorOrder и LineStyleOrder свойства осей. semilogy переходит через цвета с первым стилем линии. Затем он снова переходит через цвета с каждым дополнительным стилем линии.

    Вы можете изменить цвета и стили линии после графического изображения, установив ColorOrder или LineStyleOrder свойства на осях. Можно также вызвать функцию colororder функция для изменения порядка цвета для всех осей на рисунке.

Алгоритмы

semilogy графики функций y -координаты по логарифмической шкале путем установки YScale свойство осей, чтобы 'log'. Однако, если оси hold состояние 'on' перед вызовом semilogyсвойство не изменяется, и y -cordinates может отображаться в линейной шкале.

Расширенные возможности

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте