据我所知,默认情况下,ggplot2包(即选项scale_color_hue())在涉及两个值的因素的情况下使用橙色和绿色,方法是在色轮上选择一定距离的值。下面可以看到默认的橙色和绿色。
library(ggplot2)
xdf <- data.frame(replicate(10,sample(0:1,1000,rep=TRUE)))
xdf$freq <- 1:nrow(xdf)
ggplot(xdf, aes(x = X1, y = freq)) +
geom_col(aes(fill = factor(X8)), position = 'dodge')

如何使用相同的默认因素之间的颜色轮距离,但从随机(或选择)颜色开始创建此图?
特别是,除了直接自定义scale_fill_manual(colors)之外,是否有一种使用随机种子/获取一个颜色值并自动计算该颜色轮距离的方法?
如果定制scale_fill_manual()是实现这一目标的唯一途径,那么我将如何创建一个函数,以便输入一个随机的种子/启动颜色,以及颜色轮间距的因素数,从而返回间隔均匀的颜色列表?
发布于 2018-03-15 20:47:21
scale_fill_hue()函数可以使用一个h.start=参数来选择第一个颜色(如?scale_fill_hue帮助页中所描述的)。
ggplot(xdf, aes(x = X1, y = freq)) +
geom_col(aes(fill = factor(X8)), position = 'dodge')+
scale_fill_hue(h.start = 120)

https://stackoverflow.com/questions/49308740
复制相似问题