Как связать цвет с каждым кластером точек?
Мне дают немного points
и немного centroids
представляющих центры некоторых скоплений точек. Меня просят определить, к какому кластеру относится каждая точка, а затем построить ее (используя scatter3
), и каждый кластер точек должен быть окрашен по-разному.
Как я могу создать начальный cluster_colors
матрица размера Cx3
, где C
такое количество скоплений / центроидов? Неважно, какие цвета, но они должны быть легко различимы. Кроме того, я не знаю количество кластеров заранее.
1 ответ
Чтобы раскрасить точки с помощью SCATTER3, вам действительно нужна матрица Nx1 (CLR
в приведенном ниже примере) N - количество баллов. Эта матрица может содержать номер кластера, например.
scatter3(X,Y,Z,[],CLR)
Цвета будут использоваться из текущей цветовой карты. Чтобы установить цветовую карту вам нужна матрица Cx3. Вы можете получить его из любой существующей карты цветов. Смотрите COLORMAP для более подробной информации.
Например,
colormap(jet(C))
На самом деле количество цветов в цветовой карте не обязательно должно быть равно количеству кластеров.
Вы также можете создать свою собственную карту цветов с помощью редактора карт цветов MATLAB. Или найдите много хороших цветовых карт на FileExchange, как этот.