Как связать цвет с каждым кластером точек?

Мне дают немного points и немного centroids представляющих центры некоторых скоплений точек. Меня просят определить, к какому кластеру относится каждая точка, а затем построить ее (используя scatter3), и каждый кластер точек должен быть окрашен по-разному.

Как я могу создать начальный cluster_colors матрица размера Cx3, где C такое количество скоплений / центроидов? Неважно, какие цвета, но они должны быть легко различимы. Кроме того, я не знаю количество кластеров заранее.

1 ответ

Решение

Чтобы раскрасить точки с помощью SCATTER3, вам действительно нужна матрица Nx1 (CLR в приведенном ниже примере) N - количество баллов. Эта матрица может содержать номер кластера, например.

scatter3(X,Y,Z,[],CLR)

Цвета будут использоваться из текущей цветовой карты. Чтобы установить цветовую карту вам нужна матрица Cx3. Вы можете получить его из любой существующей карты цветов. Смотрите COLORMAP для более подробной информации.

Например,

colormap(jet(C))

На самом деле количество цветов в цветовой карте не обязательно должно быть равно количеству кластеров.

Вы также можете создать свою собственную карту цветов с помощью редактора карт цветов MATLAB. Или найдите много хороших цветовых карт на FileExchange, как этот.

Другие вопросы по тегам