Раскрашивание полярного графика по кластерам

У меня есть полярный график (см. ниже). Я хочу раскрасить график по группе точек (около 0 градусов, 60 градусов, 90 градусов, 180 градусов, 270 градусов и 330 градусов). Я пытался найти какую-то функцию, но не смог. Есть ли способ, которым это может быть достигнуто?

полярный график среднего значения невязок в зависимости от азимутального угла

Редактировать: полярный график создается с помощью команды

полярный (азимут*пи/180, среднее_разрешение, '.');


person shunyo    schedule 06.11.2015    source источник
comment
и некоторые данные, возможно...   -  person harre    schedule 06.11.2015
comment
добавлены данные и код.   -  person shunyo    schedule 06.11.2015


Ответы (2)


Вы можете использовать hold on с polar для построения графиков разными цветами:

Как разделить ваши данные на четыре части, зависит от ваших (не опубликованных) данных.

% Example data (MathWorks)
theta1 = 0:0.01:pi;
theta2 = pi:0.01:2*pi;
rho1 = sin(2*theta1).*cos(2*theta1);
rho2 = sin(2*theta2).*cos(2*theta2);

% Plot
figure
polar(theta1,rho1,'r*');
hold on;
polar(theta2,rho2,'b*');

введите здесь описание изображения

person harre    schedule 06.11.2015

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

Вы не можете добавить свойство цвета непосредственно в полярную функцию, поэтому вам нужно захватить дескриптор графика и изменить его после построения графика следующим образом:

hp = polar(theta,rho,'.');
hold on
set(hp,'Color',[1 0 0]);
hp2 = polar(theta2,rho2,'.');
set(hp2,'Color',[0 1 0]);

и так далее.

Это дает вам полный контроль над диапазоном цветов, если вам нужна какая-то тонкость, помимо «r», «g», «b» и других жестко запрограммированных сокращений для цветов в командах построения.

person txpaulm    schedule 06.11.2015