[R-sig-Geo] Colouring maps so that adjacent polygons differ in colour
Virgilio Gómez-Rubio
virgilio.gomez at uclm.es
Tue Apr 5 16:38:55 CEST 2011
Hi,
Apparently, package gcolor provides an algorithm to colour a map:
library(spdep)
library(gcolor)
example(readShapePoly)
nb.nc<-poly2nb(xx)
mat.nc<-nb2mat(nb.nc, style="B")
gcol<-ineq(mat.nc)
xx$COL<-as.factor(gcol)
spplot(xx, "COL")
It uses 4 colour for North Carolina, but I am not sure whether this is
THE 4-colour algorithm:
> table(gcol)
gcol
1 2 3 4
17 27 28 28
Hope this helps,
Virgilio
El mar, 05-04-2011 a las 15:24 +0100, Barry Rowlingson escribió:
> On Tue, Apr 5, 2011 at 3:13 PM, Mathieu Rajerison
> <mathieu.rajerison at gmail.com> wrote:
> > I don't know how to accomplish that in R, but in QGIS, you can use the
> > Topocolours plugin to accomplish that.
>
> topocolours (I wrote that!) uses the same greedy algorithm once its
> worked out the connectivity. I did make topocolours have the
> flexibility to choose other algorithms but only implemented the greedy
> one. The problem with real world maps is that some features have more
> than one polygon (islands) and if you want them all coloured the same
> you might not be able to do a 4-colour colouring!
>
> I also used ColorBrewer colours!
>
> It might be worth taking out the construction of the adjacency list
> to another function, since I found recently that poly2nb gave very
> different adjacencies to functions in rgeos.
>
> Barry
>
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo at r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
More information about the R-sig-Geo
mailing list