I am using the following script to plot a SOM and I would like to extract the HTML colour code corresponding to each node.
It doesn't seem to be in the som_model s3 object.
Any idea?
library(kohonen)
data<-matrix(c(-0.406,-0.406,-0.406,-0.406,2.463,-0.406,-0.406,2.463,-0.406,-0.406,-0.406,-0.406,
-0.406,-0.406,-0.406,-0.406,-0.406,-0.406,-0.406,-0.406,0.4188448,1.6027146,0.7208751,
0.7724322,0.5655424,-1.6969826,0.3429044,0.396769,0.3224141,-0.7324542,-0.5303228,0.9943725,
-0.0324817,1.321637,-1.1985506,-0.3409802,-0.1393889,-0.3964047,0.9597519,-0.2443682), ncol=2)
som_grid <- somgrid(xdim = 4, ydim=4, topo="hexagonal")
som_model <- som(data,
grid=som_grid,
rlen=100,
alpha=c(0.05,0.01),
keep.data = TRUE,
n.hood='circular')
plot(som_model,type="count")
The output I am looking for would be a list/vector with the colour code for each node: "#0000FF", "#FF0000"...
The
plot
call is really a call toplot.kohonen
and that, in turn, callsplot.kohprop
to setup some plot aesthetics, including the color scheme . The default color scheme isheat.colors
+gray
. For your case, you can doheat.colors(3)
and then look atsom_model$grid
to determine the color mapping.You can see what
plot.kohprop
does by just entering the function name sans parens at an R console.