semilogx

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

  • Semilogx plot

Описание

пример

semilogx(X,Y) строит графики x - и y - координат с помощью логарифмической шкалы основания-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 -cordinates варьируется от 1 до количества строк в Y.

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

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 и 4 0. Создайте линейный логарифмический график 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 значения везде, где есть разрывы в ваших данных. The 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, шестнадцатеричный цветовой код, название цвета или краткое имя. 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'

Совет

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

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

Алгоритмы

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

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

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