Here's another offering of an attempt to create unique colors.  These are
light/medium colors...no dark colors.

cols <- matrix(c(0, 0, .90, # gray
                 .3, 0, .70,
                 .6, 0, .50,
                 0, .15, 1, # red
                 0, .30, 1,
                 0, .45, 1,
                 .08, .3, 1, # orange
                 .08, .5, 1,
                 .08, .7, 1,
                 .17, .3, 1, # yellow
                 # .17, .5, 1,
                 .17, .7, 1,
                 .17, .3, .82, # khaki
                 .17, .7, .80,
                 # .17, .75, .80,
                 .25, .3, 1, # green
                 .25, .5, 1,
                 .25, .75, 1,
                 .40, .35, 1, # cyan
                 .40, .65, 1,
                 #.40, .80, 1,
                 .59, .3, 1, # blue
                 .59, .5, 1,
                 .59, .7, 1,
                 .70, .3, 1, # purple
                 .70, .5, 1,
                 .70, .7, 1,
                 .80, .3, 1, # magenta
                 .80, .5, 1,
                 .80, .7, 1
                 ), ncol=3, byrow=TRUE)
cols <- cols[order(cols[,2]+1-1.1*cols[,3]),] # Rough order by 'brightness'
cols <- hsv(cols[,1], cols[,2], cols[,3]) # Make colors
ones <- rep(1, length=length(cols))
# Get hsv for labels
names(ones) <- apply(round(rgb2hsv(col2rgb(c(cols))),2), 2,
                     function(x) {paste(x, collapse=", ")})

x <- 1:15
y <- 1:15
grid <- expand.grid(x=x, y=y)
grid$z <- sample(seq(from=0, to=1, length=length(x)*length(y)))
print(levelplot(z~x*y, grid,
                at=seq(from=0,to=1,length=length(cols)+1),
                col.regions=cols, colorkey = TRUE,
                main="Are colors identifiable with the key?"))

#pie(ones, col=cols, cex=.75)

Kevin Wright


On Sat, Mar 14, 2009 at 2:35 PM, Kingsford Jones
<kingsfordjones@gmail.com>wrote:

> On Fri, Mar 13, 2009 at 7:58 AM, Ross Culloch <ross.culloch@dur.ac.uk>
> wrote:
> >
> > Hi Kingsford,
> >
> > Thanks yet again for your help! I have tried this, and once again i have
> > failed! I have put the code that i've used below (i'm sure you'll note
> some
> > bad practice)
>
> It doesn't appear you changed the factor to a character.  Here's a
> reproducible example using 4 colors (but 15 should work the same way)
>
> #install.packages(c('TraMineR', 'epitools'))
> library(TraMineR); library(epitools)
> data(actcal)
> mycols <- colors.plot(T) #left-click on 4 colors of choosing
> #then right-click to 'Stop'
> mycols <- as.character(mycols[,3])
> seqiplot(seqdef(actcal,13:24), cpal=mycols)
>
>
> If you type "choosing colors" without the quotes into RSeek you will
> see many options for choosing colors in R.  Be sure to notice the tabs
> for various types of output in the RSeek results page ('Support
> Lists', 'Functions', ...).
>
>
> hth,
> Kingsford Jones
>
> > if that is any use to help explain where i'm going wrong, it
> > seems to run fine and feeds back just what you noted it would, but i
> still
> > get the error message as before - if you have any more suggestions i'd be
> > very greatful, i'm sure it is down to me missing something very simple!
> >
> > Thanks again,
> >
> > Ross
> >
> >> mycols <- colors.plot(T)
> >> str(mycols$color.names)
> >  Factor w/ 15 levels "slategray2","snow3",..: 9 10 11 12 13 14 15 1 2 3
> ...
> >> ##Factor w/ 4 levels "blue","green",..: 3 4 2 1
> >> str(as.character(mycols$color.names))
> >  chr [1:15] "tomato1" "tomato4" "turquoise1" "violet" "violetred4"
> "wheat3"
> > ...
> >> ##chr [1:4] "tomato1" "yellow1" "green" "blue"
> >>
> >> attach(dd)
> >> seqiplot(data.seq[1:4,], withlegend=FALSE, ylab="Seal ID",
> > + axes = F, title = "30-09-2008", cpal=mycols)
> > There were 12 warnings (use warnings() to see them)
> >> y.lab.pos <-  c(0.7, 1.9, 3.1, 4.3)
> >> axis(2, at=y.lab.pos, labels=paste(ID[1:4], sep=""), tick=FALSE)
> >> detach(dd)
> >
> >
> >
> > Kingsford Jones wrote:
> >>
> >> On Fri, Mar 13, 2009 at 7:19 AM, Ross Culloch <ross.culloch@dur.ac.uk>
> >> wrote:
> >>>
> >>> Many thanks yet again for your reply, thanks for that method, i gave it
> a
> >>> go
> >>> and i checked 'mycols' and sure enough it had selected the chosen
> colours
> >>> and listed their names, but when i used it for making the graph warnigs
> >>> informed me that the supplied colour in not numeric or character.
> >>
> >>
> >> The data frame holds is storing the colors as class factor.  You'll
> >> need to convert to character.  Note
> >>
> >>> mycols <- colors.plot(T)
> >>> str(mycols$color.names)
> >>  Factor w/ 4 levels "blue","green",..: 3 4 2 1
> >>> str(as.character(mycols$color.names))
> >>  chr [1:4] "tomato1" "yellow1" "green" "blue"
> >>
> >>
> >> hth,
> >> Kingsford
> >>
> >>
> >>>
> >>> Ross
> >>>
> >>>
> >>>
> >>> Kingsford Jones wrote:
> >>>>
> >>>> One option for creating your own palette is
> >>>>
> >>>> #install.packages('epitools')
> >>>> mycols <- colors.plot(locator = TRUE)
> >>>>
> >>>> then left-click on 15 colors of your liking and then right-click
> 'Stop'.
> >>>>
> >>>> mycols will be a data.frame with the third column containing the color
> >>>> names.
> >>>>
> >>>> Kingsford
> >>>>
> >>>> On Fri, Mar 13, 2009 at 6:38 AM, Ross Culloch <ross.culloch@dur.ac.uk
> >
> >>>> wrote:
> >>>>>
> >>>>> Hi Kingsford,
> >>>>>
> >>>>> Thanks for the reply - some of the sets/palettes in the RColorBrewer
> >>>>> are
> >>>>> ideal, but the problem with the problem i have is that they only go
> up
> >>>>> to
> >>>>> 12
> >>>>> colours, and i need 15 colours - so i assume the only thing i can do
> is
> >>>>> create my own palette, but i'm having limited success in trying to
> work
> >>>>> out
> >>>>> how to do this.
> >>>>>
> >>>>>
> >>>>> Kingsford Jones wrote:
> >>>>>>
> >>>>>> Try
> >>>>>>
> >>>>>> #install.packages('RColorBrewer')
> >>>>>> example(brewer.pal, pack='RColorBrewer')
> >>>>>>
> >>>>>>
> >>>>>> hth,
> >>>>>> Kingsford Jones
> >>>>>>
> >>>>>> On Fri, Mar 13, 2009 at 3:20 AM, Ross Culloch <
> ross.culloch@dur.ac.uk>
> >>>>>> wrote:
> >>>>>>>
> >>>>>>> Dear all,
> >>>>>>>
> >>>>>>> This seems like a simple problem but i've searched the help files
> and
> >>>>>>> tried
> >>>>>>> various options but failed, so apologies in advance for asking what
> >>>>>>> i'm
> >>>>>>> sure
> >>>>>>> is an easy thing to do!
> >>>>>>>
> >>>>>>> In short, I have displayed behavioural data using the TraMineR
> >>>>>>> package
> >>>>>>> such
> >>>>>>> that there is a colour change between the transition of behaviours,
> >>>>>>> however,
> >>>>>>> all the methods that i have used thus far have given me gradual
> >>>>>>> changes
> >>>>>>> in
> >>>>>>> colour such that it is impossible to tell the difference from
> several
> >>>>>>> of
> >>>>>>> the
> >>>>>>> behaviours. I have looked in the help section here, and looked at
> >>>>>>> various
> >>>>>>> books and help files in R, but most seem intent on gradual changes
> in
> >>>>>>> colour
> >>>>>>> for heat, terrain, depth, etc - i may not be looking in the correct
> >>>>>>> places,
> >>>>>>> or perhaps i don't know what i'm looking for, exactly.
> >>>>>>>
> >>>>>>> The code below is the closest i can get to colours being not too
> >>>>>>> similar,
> >>>>>>> but it's still hard to tell apart:
> >>>>>>>
> >>>>>>> col <- rainbow(15,start = 0, end = 1, gamma = 0.5)
> >>>>>>>
> >>>>>>> What i ideally want to do is create a palette with random colours
> >>>>>>> that
> >>>>>>> are
> >>>>>>> no where near one another so that i can tell the 15 different
> >>>>>>> behaviours
> >>>>>>> apart - is this possible?
> >>>>>>>
> >>>>>>> If anyone can help i would be most greatful!
> >>>>>>>
> >>>>>>> Best wishes,
> >>>>>>>
> >>>>>>> Ross
> >>>>>>> --
> >>>>>>> View this message in context:
> >>>>>>>
> http://www.nabble.com/Selecting---creating-unique-colours-for-behavioural---transitional-data-tp22492438p22492438.html
> >>>>>>> Sent from the R help mailing list archive at Nabble.com.
> >>>>>>>
> >>>>>>> ______________________________________________
> >>>>>>> R-help@r-project.org mailing list
> >>>>>>> https://stat.ethz.ch/mailman/listinfo/r-help
> >>>>>>> PLEASE do read the posting guide
> >>>>>>> http://www.R-project.org/posting-guide.html
> >>>>>>> and provide commented, minimal, self-contained, reproducible code.
> >>>>>>>
> >>>>>>
> >>>>>> ______________________________________________
> >>>>>> R-help@r-project.org mailing list
> >>>>>> https://stat.ethz.ch/mailman/listinfo/r-help
> >>>>>> PLEASE do read the posting guide
> >>>>>> http://www.R-project.org/posting-guide.html
> >>>>>> and provide commented, minimal, self-contained, reproducible code.
> >>>>>>
> >>>>>>
> >>>>>
> >>>>> --
> >>>>> View this message in context:
> >>>>>
> http://www.nabble.com/Selecting---creating-unique-colours-for-behavioural---transitional-data-tp22492438p22495482.html
> >>>>> Sent from the R help mailing list archive at Nabble.com.
> >>>>>
> >>>>> ______________________________________________
> >>>>> R-help@r-project.org mailing list
> >>>>> https://stat.ethz.ch/mailman/listinfo/r-help
> >>>>> PLEASE do read the posting guide
> >>>>> http://www.R-project.org/posting-guide.html
> >>>>> and provide commented, minimal, self-contained, reproducible code.
> >>>>>
> >>>>
> >>>> ______________________________________________
> >>>> R-help@r-project.org mailing list
> >>>> https://stat.ethz.ch/mailman/listinfo/r-help
> >>>> PLEASE do read the posting guide
> >>>> http://www.R-project.org/posting-guide.html
> >>>> and provide commented, minimal, self-contained, reproducible code.
> >>>>
> >>>>
> >>>
> >>> --
> >>> View this message in context:
> >>>
> http://www.nabble.com/Selecting---creating-unique-colours-for-behavioural---transitional-data-tp22492438p22496241.html
> >>> Sent from the R help mailing list archive at Nabble.com.
> >>>
> >>> ______________________________________________
> >>> R-help@r-project.org mailing list
> >>> https://stat.ethz.ch/mailman/listinfo/r-help
> >>> PLEASE do read the posting guide
> >>> http://www.R-project.org/posting-guide.html
> >>> and provide commented, minimal, self-contained, reproducible code.
> >>>
> >>
> >> ______________________________________________
> >> R-help@r-project.org mailing list
> >> https://stat.ethz.ch/mailman/listinfo/r-help
> >> PLEASE do read the posting guide
> >> http://www.R-project.org/posting-guide.html
> >> and provide commented, minimal, self-contained, reproducible code.
> >>
> >>
> >
> > --
> > View this message in context:
> http://www.nabble.com/Selecting---creating-unique-colours-for-behavioural---transitional-data-tp22492438p22496949.html
> > Sent from the R help mailing list archive at Nabble.com.
> >
> > ______________________________________________
> > R-help@r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> > and provide commented, minimal, self-contained, reproducible code.
> >
>
> ______________________________________________
> R-help@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>

	[[alternative HTML version deleted]]


