Martin's suggestion is the way to go. For display purposes, you basically never want random colors, you almost always want to select distinct colors and there are principled ways of doing that.
Best, Kasper On Tue, Nov 30, 2021 at 6:59 AM Martin Morgan <mtmorgan.b...@gmail.com> wrote: > Check out grDevices::hcl.pals (also > https://www.zeileis.org/papers/Zeileis+Hornik+Murrell-2009.pdf) or the > RColorBrewer package (also https://colorbrewer2.org) for principled > selection of colors. Sounds like you're interested in 'qualitative' color > palletes. > > Martin Morgan > > On 11/29/21, 4:23 PM, "Bioc-devel on behalf of Meng Chen" < > bioc-devel-boun...@r-project.org on behalf of mengche...@gmail.com> wrote: > > Thanks. I think it may work in theory, generating "enough" distinct > colors > is fairly easy. Then the problem will be how to find a subset of > colors of > size n, and the selected colors are still most distinguishable. I > think I > will do this with my eyes if no other methods, a tedious job. > But at least for my curiosity, I still want to know if there are other > ways > to achieve this. I feel like 80% of people who use the > distinctColorPallete > function actually don't need the "random" feature :) Thanks. > > On Mon, Nov 29, 2021 at 9:39 PM James W. MacDonald <jmac...@uw.edu> > wrote: > > > It appears that you don't actually want random colors, but instead > you > > want the same colors each time. Why not just generate the vector of > 'random > > distinct colors' one time and save the vector of colors? > > > > -----Original Message----- > > From: Bioc-devel <bioc-devel-boun...@r-project.org> On Behalf Of > Meng Chen > > Sent: Monday, November 29, 2021 3:21 PM > > To: bioc-devel@r-project.org > > Subject: [Bioc-devel] Use set.seed inside function > > > > Dear BioC team and developers, > > > > I am using BiocCheck to check my package, it returns a warning: > > " Remove set.seed usage in R code" > > > > I am using "set.seed" inside my functions, before calling function > > distinctColorPalette (randomcoloR package) in order to generate > > reproducible "random distinct colors". So what would be the best > practice > > to solve this warning? I think 1. use set.seed and don't change > anything. > > 2. use the set.seed function, but include something like below > inside the > > function *gl.seed <- .Random.seed* *on.exit(assign(".Random.seed", > gl.seed, > > envir = .GlobalEnv))* 3. use some other functions for the purpose > > > > Any suggestions will be appreciated. Thanks. > > -- > > Best Regards, > > Chen > > > > [[alternative HTML version deleted]] > > > > _______________________________________________ > > Bioc-devel@r-project.org mailing list > > https://stat.ethz.ch/mailman/listinfo/bioc-devel > > > > > -- > Best Regards, > Chen > > [[alternative HTML version deleted]] > > _______________________________________________ > Bioc-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/bioc-devel > _______________________________________________ > Bioc-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/bioc-devel > -- Best, Kasper [[alternative HTML version deleted]] _______________________________________________ Bioc-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel