exponenta event banner

polarscatter

Диаграмма рассеяния в полярных координатах

  • Polar scatter chart

Описание

пример

polarscatter(th,r) сюжеты th против r и отображает круговой маркер в каждой точке данных. th и r должны быть векторами одинаковой длины. Необходимо указать th в радианах.

  • Для печати одного набора точек укажите th и r в виде векторов равной длины.

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

polarscatter(th,r,sz) устанавливает размеры маркера, где sz задает площадь каждого маркера в точках в квадрате. Чтобы нарисовать все маркеры одинакового размера, укажите sz как скаляр. Рисование маркеров различных размеров в виде вектора или матрицы.

пример

polarscatter(th,r,sz,c) определяет цвета маркеров. Можно задать один цвет для всех маркеров или изменить цвет. Например, можно вывести на печать все красные круги, указав c как 'red'.

polarscatter(___,mkr) задание обозначения маркера. Например, '+' отображает перекрестные маркеры. Укажите символ маркера после любой комбинации входных аргументов в предыдущих синтаксисах.

пример

polarscatter(___,'filled') заполняет интерьеры маркера.

polarscatter(___,Name,Value) изменяет внешний вид графика рассеяния, используя один или несколько аргументов пары имя-значение. Например, можно использовать полупрозрачные маркеры, указав 'FaceAlpha' и скалярное значение между 0 и 1.

polarscatter(pax,___) строит графики в полярных осях, указанных pax вместо в текущие оси.

пример

ps = polarscatter(___) возвращает значение Scatter объект или массив Scatter объекты.. Использовать ps для изменения внешнего вида Scatter после создания объекта. Список свойств см. в разделе Свойства разброса.

Примеры

свернуть все

Создайте диаграмму рассеяния в полярных координатах.

th = pi/4:pi/4:2*pi;
r = [19 6 12 18 16 11 15 15];
polarscatter(th,r)

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

Создайте диаграмму рассеяния, использующую заполненные маркеры, указав необязательный входной аргумент. 'filled'. Установите размер маркера равным 75 точкам в квадрате.

th = linspace(0,2*pi,20);
r = rand(1,20);
sz = 75;
polarscatter(th,r,sz,'filled')

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

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

th = pi/4:pi/4:2*pi;
r = [19 6 12 18 16 11 15 15];
sz = 100*[6 15 20 3 15 3 6 40];
c = [1 2 2 2 1 1 2 1];
polarscatter(th,r,sz,c,'filled','MarkerFaceAlpha',.5)

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

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

th = linspace(0,360,50);
r = 0.005*th/10;
th_radians = deg2rad(th);
polarscatter(th_radians,r)

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

Объединение двух диаграмм рассеяния в одних и тех же полярных осях с помощью hold команда. Добавьте легенду с описанием каждой диаграммы.

th = pi/6:pi/6:2*pi;
r1 = rand(12,1);
polarscatter(th,r1,'filled')

hold on 
r2 = rand(12,1);
polarscatter(th,r2,'filled')
hold off

legend('Series A','Series B')

Figure contains an axes. The axes contains 2 objects of type scatter. These objects represent Series A, Series B.

Создание диаграммы разброса и назначение объекта разброса переменной ps.

th = pi/6:pi/6:2*pi;
r = rand(12,1);
ps = polarscatter(th,r,'filled')

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

ps = 
  Scatter with properties:

             Marker: 'o'
    MarkerEdgeColor: 'none'
    MarkerFaceColor: 'flat'
           SizeData: 36
          LineWidth: 0.5000
          ThetaData: [1x12 double]
              RData: [1x12 double]
              ZData: [1x0 double]
              CData: [0 0.4470 0.7410]

  Show all properties

Использовать ps для изменения свойств объекта рассеяния после его создания.

ps.Marker = 'square';
ps.SizeData = 200;
ps.MarkerFaceColor = 'red';
ps.MarkerFaceAlpha = .5;

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

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

свернуть все

Значения тета, заданные как скаляр, вектор или матрица. ThetaData свойство объекта рассеяния хранит значения тета.

Размер и форма th зависит от формы данных. В этой таблице описаны наиболее распространенные ситуации.

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

Определить th и r как скаляры. Например:

polarscatter(pi/2,0.5)

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

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

polarscatter([0 pi/4 pi/2],[1; 2; 3])

Несколько наборов точек разных цветов

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

polarscatter([0 pi/4 pi/2],[4 5 6; 7 8 9])
Если матрица квадратная, polarscatter отображает отдельный набор точек для каждого столбца в матрице.

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

polarscatter([0 pi/6 pi/2; pi/8 pi/4 pi],[1 2 3; 4 5 6])

Чтобы преобразовать градусы в радианы, используйте deg2rad.

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

Значения Rho, заданные как скаляр, вектор или матрица. RData свойство объекта-рассеивателя сохраняет значения rho.

Размер и форма r зависит от формы данных. В этой таблице описаны наиболее распространенные ситуации.

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

Определить th и r как скаляры. Например:

polarscatter(pi/2,0.5)

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

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

polarscatter([0 pi/4 pi/2],[1; 2; 3])

Несколько наборов точек разных цветов

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

polarscatter([0 pi/4 pi/2],[4 5 6; 7 8 9])
Если матрица квадратная, polarscatter отображает отдельный набор точек для каждого столбца в матрице.

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

polarscatter([0 pi/6 pi/2; pi/8 pi/4 pi],[1 2 3; 4 5 6])

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

Размер маркера, заданный как числовой скаляр, вектор, матрица или пустой массив ([]). Размер определяет площадь каждого маркера в точках в квадрате. Пустой массив задает размер по умолчанию, равный 36 точкам. Способ задания размера зависит от способа задания th и rи как ты хочешь, чтобы сюжет выглядел. В этой таблице описаны наиболее распространенные ситуации.

Требуемые размеры маркераth и r szПример

Одинаковый размер для всех точек

Любая действительная комбинация векторов или матриц, описанных для th и r.

Скаляр

Определить th как вектор, r в виде матрицы, и sz как скаляр.

th = [0 pi/6 pi/2];
r = [1 2; 2 4; 5 6];
polarscatter(th,r,100)

Различный размер для каждой точки

Векторы одинаковой длины

  • Вектор с той же длиной, что и th и r.

  • Матрица по крайней мере с одним размером, соответствующим длинам th и r. Указание матрицы полезно для отображения нескольких маркеров с различными размерами в каждом (th, r) месте.

Определить th, r, и sz в качестве векторов.

th = [0 pi/6 pi/2];
r = [1; 2; 3];
sz = [50 500 100];
polarscatter(th,r,sz)

Определить th и r как векторы и sz в виде матрицы.

th = [0 pi/6 pi/2];
r = [1; 2; 3];
sz = [50 500 100; 300 1000 200];
polarscatter(th,r,sz)

Различный размер для каждой точки

По крайней мере один из x или y является матрицей для печати нескольких наборов данных

  • Вектор с тем же количеством элементов, что и точки в каждом наборе данных.

  • Матрица, размер которой совпадает с размером th или r матрица.

Определить th как вектор, r в виде матрицы, и sz в виде вектора.

th = [0 pi/6 pi/2];
r = [1 2; 2 4; 5 6];
sz = [50 500 1000];
polarscatter(th,r,sz)

Определить th как вектор, r в виде матрицы, и sz в виде матрицы того же размера, что и r.

th = [0 pi/6 pi/2];
r = [1 2; 2 4; 5 6];
sz = [50 500; 1000 2000; 100 300];
polarscatter(th,r,sz)

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

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

  • Имя цвета - имя цвета, например 'red'или короткое имя, например 'r'.

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

  • Матрица триплетов RGB - трёхколонная матрица, в которой каждая строка является триплетом RGB.

  • Вектор индексов карты цветов - вектор числовых значений той же длины, что и th и r векторы.

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

Цветовая схемаОпределение цветаПример

Используйте один цвет для всех точек.

Укажите имя цвета или короткое имя из приведенной ниже таблицы или укажите один триплет RGB.

Постройте график одного набора точек и задайте цвет как 'red'.

th = [0 pi/6 pi/2];
r = [1 2 3];
c = 'red';
polarscatter(th,r,[],c)

Постройте график двух наборов точек и задайте красный цвет с помощью триплета RGB.

th = [0 pi/6 pi/2];
r = [1 2; 2 4; 5 6];
c = [1 0 0];
polarscatter(th,r,[],c)

Назначьте разные цвета каждой точке с помощью карты цветов.

Укажите вектор строки или столбца чисел. Индекс чисел в текущем массиве карты цветов. Наименьшее значение соответствует первой строке в карте цветов, а наибольшее - последней строке. Промежуточные значения отображаются линейно промежуточным строкам.

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

Этот метод можно использовать только в том случае, если th, r, и sz все векторы.

Создание вектора c указывает четыре индекса карты цветов. Постройте график из четырех точек, используя цвета текущей карты цветов. Затем измените карту цветов на winter.

th = [0 pi/6 pi/2 2*pi/3];
r = [1 2 3 4];
c = [1 2 3 4];
polarscatter(th,r,[],c)
colormap(gca,'winter')

Создайте пользовательский цвет для каждой точки.

Задайте матрицу m-на-3 триплетов RGB, где m - количество точек на графике.

Этот метод можно использовать только в том случае, если th, r, и sz все векторы.

Создание матрицы c определяет триплеты RGB четырех цветов. Затем создайте четыре точки графика с использованием этих цветов.

th = [0 pi/6 pi/2 2*pi/3];
r = [1 2 3 4];
c = [1 0 0; 0 1 0; 0 0 1; 0 0 0];
polarscatter(th,r,[],c)

Создайте разные цвета для каждого набора данных.

Укажите матрицу n-на-3 триплетов RGB, где n - количество наборов данных.

Этот метод можно использовать только в том случае, если хотя бы один из th, r, или sz является матрицей.

Создание матрицы c содержит две тройки RGB. Затем постройте график двух наборов данных с использованием этих цветов.

th = [0 pi/6 pi/2];
r = [1 2; 2 4; 5 6];
c = [1 0 0; 0 0 1];
polarscatter(th,r,[],c)

Имена цветов и триплеты 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'

Вот триплеты 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'

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

Обозначение маркера, указанное в качестве одного из обозначений маркера, перечисленных в этой таблице.

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

Marker свойство объекта-рассеивателя хранит символ маркера.

PolarAxes объект. Если полярные оси не заданы, то polarscatter использует текущие оси. polarscatter не поддерживает печать по декартовым осям.

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

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

Пример: polarscatter(th,r,'filled','MarkerFaceAlpha',.5) создает заполненные полупрозрачные маркеры.

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

Прозрачность грани маркера, заданная как скаляр в диапазоне [0,1]. Значение 1 является непрозрачным, а 0 - прозрачным. Значения от 0 до 1 полупрозрачны.

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

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

Пример: [0.5 0.5 0.5]

Пример: 'blue'

Пример: '#D2F9A7'

Цвет заливки маркера, указанный как 'flat', 'auto', триплет RGB, шестнадцатеричный цветовой код, имя цвета или короткое имя. 'flat' параметр использует CData значения. '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'

Пример: [0.3 0.2 0.1]

Пример: 'green'

Пример: '#D2F9A7'

Ширина кромки маркера, заданная как положительное значение в единицах измерения точки.

Пример: 0.75

Представлен в R2016b