Я делаю кластеризацию kmeans на изображении png и строю его с использованием grid :: grid.raster (image). Но я хотел бы поместить легенду, которая показывает интенсивность в полосе (от синего до красного), отмеченной значениями, по существу, указывающими интенсивность на изображении. (изображение - это массив, где третье измерение равно 3, что дает красный, зеленый и синий каналы.)
Я думал об использовании grid.legend (), но не мог понять это. Я надеюсь, что сообщество может помочь мне. Ниже приведено изображение, которое я использую, и после того, как я выполню кластеризацию kmeans, мне понадобится легенда, отображающая интенсивность в непрерывном масштабе на цветной полосе.
Также я попытался с ggplot2 и мог построить изображение, но все еще не смог построить легенду. Я предоставляю код ggplot для построения изображения. Я также могу извлекать каналы RGB отдельно, используя ggplot2, поэтому это тоже помогает.
colassign <- rgb(Kmeans2@centers[clusters(Kmeans2),])
library(ggplot2)
ggplot(data = imgVEC, aes(x = x, y = y)) +
geom_point(colour = colassign) +
labs(title = paste("k-Means Clustering of", kClusters, "Colours")) +
xlab("x") +
ylab("y")