условный разброс в matlab - PullRequest
       3

условный разброс в matlab

1 голос
/ 16 декабря 2011

Возможно ли разбросать в matlab (2D), где цвет маркера обусловлен в третьем столбце. Я могу использовать петли и держаться, но, возможно, есть более простой способ.

Christian

Ответы [ 2 ]

5 голосов
/ 16 декабря 2011

Четвертый аргумент для разброса позволяет вам указать цвет. С документация :

разброс (X, Y, S, C)

...

C определяет цвет каждого маркера. Когда C является вектором такой же длины, как X и Y, значения в C линейно отображаются на цвета в текущей цветовой карте. Когда C представляет собой матрицу размером 1 на 3, она определяет цвета маркеров как значения RGB. Если у вас есть 3 точки на диаграмме рассеяния и вы хотите, чтобы цвета были индексами в цветовой карте, C должен быть матрицей 3 на 1. C также может быть строкой цвета (см. ColorSpec для списка спецификаторов строки цвета).

Попробуйте что-то вроде:

X = rand(1, 10);
Y = rand(1, 10);
colour = randi(3, 1, 10)

colour =

 2     1     3     1     3     1     2     2     3     1

scatter(X, Y, [], colour, 'filled');

enter image description here

Если ваши наборы данных большие, и существует несколько разных цветовых категорий, я склонен считать, что использование plot с удержанием - это более быстрый способ построения.

2 голосов
/ 16 декабря 2011

@ Ответ Билла в порядке, но если у вас есть доступ к инструментам статистики, вы также можете попробовать gscatter.

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