exponenta event banner

полутупоумный

Семилоговый график (ось Y имеет логарифмический масштаб)

  • Semilogy plot

Описание

пример

semilogy(X,Y) строит график координат x и y с использованием линейного масштаба по оси X и логарифмического масштаба base-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 находятся в диапазоне от 1 до числа строк в Y.

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

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 значения, где имеются разрывы в данных. 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, шестнадцатеричный цветовой код, имя цвета или короткое имя. '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 могут отображаться в линейном масштабе.

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

Представлен до R2006a