exponenta event banner

semilogx

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

  • Semilogx plot

Описание

пример

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

  • Для печати набора координат, связанных сегментами линий, укажите X и Y как векторы одинаковой длины.

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

пример

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

пример

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

пример

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

пример

semilogx(Y) сюжеты Y по неявному набору координат X.

  • Если Y - вектор, x-координаты находятся в диапазоне от 1 до length(Y).

  • Если Y является матрицей, график содержит одну строку для каждого столбца в Y. Координаты X находятся в диапазоне от 1 до числа строк в Y.

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

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

пример

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

пример

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

пример

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

Примеры

свернуть все

Определить x как вектор логарифмически разнесенных значений от 0.1 кому 100и определить y в качестве копии x. Создание линейного логарифмического графика x и yи позвоните в grid для отображения линий сетки.

x = logspace(-1,2);
y = x;
semilogx(x,y)
grid on

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

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

x = logspace(-1,2);
y1 = x;
y2 = -x;
semilogx(x,y1,x,y2)
grid on

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

Определить f в виде вектора, содержащего частоты от 10 Гц до 100 000 Гц. Определить gain как вектор значений усиления мощности в децибелах. Затем постройте график значений усиления по частоте.

f = logspace(1,5,100);
v = linspace(-50,50,100);
gain = (1-exp(5*(2.5*v.^2)./7500))/14;
semilogx(f,gain)
grid on

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

Позвоните в yticks функция для изменения положения засечек по оси Y с приращением всего числа вдоль оси Y. Затем создайте метки осей x и y, вызвав xlabel и ylabel функции.

yticks([-5 -4 -3 -2 -1 0])
xlabel ('Freqency (Hz)')
ylabel('Power Gain (dB)')

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

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

x = logspace(-1,2,15);
y = 12 + x;
semilogx(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-координат. Затем постройте график двух строк, передав пары x-y, разделенные запятыми, в semilogx. Отображение легенды путем вызова legend функция.

x = logspace(1,4,100);
v = linspace(-50,50,100);
y1 = 100*exp(-1*((v+5).^2)./200);
y2 = 100*exp(-1*(v.^2)./200);
semilogx(x,y1,x,y2,'--')
legend('Measured','Estimated')
grid on

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Measured, Estimated.

Если указан только один вектор координат, semilogx отображает эти координаты относительно значений 1:length(y). Например, определить y как вектор из 5 значений между 0 и 40. Создайте линейно-логарифмический график y.

y = [0 10 20 30 40];
semilogx(y)
grid on

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

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

y = [ 0    10    20
     10    20    30
     20    30    40
     30    40    50
     40    50    60];

semilogx(y)
grid on

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

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

tiledlayout('flow')
ax1 = nexttile;
x = logspace(-1,2);
y1 = 1./x;
semilogx(ax1,x,y1)

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

Повторите процесс для создания второго линейного графика.

ax2 = nexttile;
y2 = x;
semilogx(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 = logspace(-1,2);
y1 = x;
y2 = -x;
slg = semilogx(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 значения, где имеются разрывы в данных. semilogx функция отображает пробелы в этих местоположениях.

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

x = logspace(-1,2);
y = x;
y(40) = NaN;
semilogx(x,y)

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

Входные аргументы

свернуть все

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

Тип графикаУказание координат
Одиночная точка

Определить X и Y как скаляры и включают маркер. Например:

semilogx(1,2,'o')

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

Определить X и Y как любая комбинация векторов строк или столбцов одинаковой длины. Например:

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

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

Укажите последовательные пары X и Y векторы. Например:

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

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

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

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

Либо укажите X и Y в виде матриц одинакового размера. В этом случае semilogx строит графики для каждого столбца Y по соответствующему столбцу X. Например:

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

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

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

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

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

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

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

Тип графикаУказание координат
Одиночная точка

Определить X и Y как скаляры и включают маркер. Например:

semilogx(1,2,'o')

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

Определить X и Y как любая комбинация векторов строк или столбцов одинаковой длины. Например:

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

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

Укажите последовательные пары X и Y векторы. Например:

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

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

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

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

Либо укажите X и Y в виде матриц одинакового размера. В этом случае semilogx строит графики для каждого столбца Y по соответствующему столбцу X. Например:

semilogx([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

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

Пример: '--or' - красная пунктирная линия с маркерами окружности

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

y

желтый

m

пурпурный

c

голубой

r

красный

g

зеленый

b

синий

w

белый

k

черный

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

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

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

Пример: semilogx([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'

Совет

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

    После печати можно изменить цвета и стили линий, установив ColorOrder или LineStyleOrder свойства на осях. Также можно вызвать colororder для изменения порядка цветов для всех осей на рисунке.

Алгоритмы

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

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

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