3

scale_colour_manual用来指定我需要的可能颜色。但是,如果我选择red我会得到令人眼花缭乱的红色,而不是我一开始不使用时会出现的较温和的 ggplot2 默认红色scale_colour_manual。访问 ggplot2 默认调色板的标签或常量是什么?

 ggplot(data=df, aes(x=n, y=rt, group=kernel, shape=kernel, colour=kernel)) + 
     geom_point(fill="white", size=3) + geom_line() + xlab("n") + ylab("Runtime (s)") + 
     opts(title=title,plot.title=theme_text(size=font.size)) + 
     scale_colour_manual(values=c("grey30", "red")) + 
     opts(legend.position = c(x_shift,0.87),legend.background=theme_rect(fill = "transparent",colour=NA))

请注意,使用 'red30' 不起作用,它只适用于灰色,出于某种我不知道的原因。

4

2 回答 2

4

red30不起作用,因为没有只有 30% 的颜色的概念,尽管有 30% 的灰色阴影的概念(即黑色和白色之间的 30%。)

如果你想要一个不刺眼的红色,scale_color_manual你需要在RGB中指定颜色,即。通过使用三个字节来表示十六进制的红色绿色和蓝色。像这样的东西应该工作

ggplot(data=df, aes(x=n, y=rt, group=kernel, shape=kernel, colour=kernel)) + 
 geom_point(fill="white", size=3) + geom_line() + xlab("n") + ylab("Runtime (s)") + 
 opts(title=title,plot.title=theme_text(size=font.size)) + 
 scale_colour_manual(values=c("grey30", "#EF8A62")) + 
 opts(legend.position = c(x_shift,0.87),legend.background=theme_rect(fill =  "transparent",colour=NA))

如果您不知道如何使用这种颜色编码,请参阅。我不知道如何以编程方式提取 ggplot 使用的颜色,但您始终可以将使用标准颜色生成的绘图加载到某些图像编辑器(例如 Gimp)中,然后找出确切的颜色代码是什么。您可以在colorbrewer上找到很好的配色方案,但请注意,它ggplot2已经为那些提供了功能:scale_brewer.

于 2012-09-09T01:30:54.773 回答
3

ggplot2 中使用的默认“淡红色”和“淡蓝色”分别具有 和 的十六进制代码,以及 RGB 代码#f8766d和分别。要指定这些:#00b0f6248,118,1090,176,246scale_colour_manual

scale_colour_manual(values=c("#f8766d", "#00b0f6"))
于 2018-05-31T10:49:10.207 回答