Группировать и выводить данные из определенных столбцов в матрице - PullRequest
3 голосов
/ 13 марта 2019

После анализа и группировки моих данных в матрице я попытался разбросить график своих данных в матрице и получил некоторые ошибки. Моя проанализированная и сгруппированная матрица данных показана ниже:

a = [1.05 2.1 3.4 1; 1.06 2.2 3.6 1; 2.04 2.3 3.8 2; 2.15 2.2 4.0 2; 1.37 2.3 3.7 1;3.12 2.1 4.1 3;3.02 2.2 4.2 3;3.42 2.3 4.5 3;3.24 2.4 4.8 3]

a =

1.0500    2.1000    3.4000    1.0000
1.0600    2.2000    3.6000    1.0000
2.0400    2.3000    3.8000    2.0000
2.1500    2.2000    4.0000    2.0000
1.3700    2.3000    3.7000    1.0000
3.1200    2.1000    4.1000    3.0000
3.0200    2.2000    4.2000    3.0000
3.4200    2.3000    4.5000    3.0000
3.2400    2.4000    4.8000    3.0000

Я округлил значения a (:, 1) и положил их в (:, 4).

Желаемый график должен быть таким, как показано ниже (я излагаю их в Excel):

enter image description here

В основном мне нужно сгруппировать данные в соответствии со значениями в (:, 4).

Я написал код ниже:

splitapply(@(x,y)plot(x,y),a(:,2),a(:,3),findgroups(a(:,4)))

Сюжет показан ниже:

enter image description here

Как отобразить данные, как показано на первом рисунке (в Excel)?

1 Ответ

1 голос
/ 13 марта 2019

Вы забыли hold on.Добавление некоторых более хороших параметров печати:

hold on
% same thing you have but with markers!
splitapply(@(x,y)plot(x,y,'marker','.','markersize',20),a(:,2),a(:,3),findgroups(a(:,4)))
axis([2.05 2.45 0 6]) %same as excel
grid on

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...