通过R中的注释使用ggplot2图形的默认填充颜色
我想从ggplot2访问默认的线条或填充颜色,但我不确定如何执行此操作。具体来说,在下面的代码中,您将看到注释中使用了green4、blue4和red4。这些是我认为通过R中的注释使用ggplot2图形的默认填充颜色,r,graph,colors,ggplot2,visualization,R,Graph,Colors,Ggplot2,Visualization,我想从ggplot2访问默认的线条或填充颜色,但我不确定如何执行此操作。具体来说,在下面的代码中,您将看到注释中使用了green4、blue4和red4。这些是我认为ggplot2使用的近似值 此外,如果此代码未遵循最佳实践或可能从替代方法中获益,请提供建议 library(ggplot2) ggplot(data.frame(x = c(0, 1000)), aes(x)) + stat_function(fun = dnorm, geom = "density", args = lis
ggplot2
使用的近似值
此外,如果此代码未遵循最佳实践或可能从替代方法中获益,请提供建议
library(ggplot2)
ggplot(data.frame(x = c(0, 1000)), aes(x)) +
stat_function(fun = dnorm, geom = "density", args = list(mean = 200, sd = 50),
aes(color="technology", fill="technology", alpha= 0.75)) +
stat_function(fun = dnorm, geom = "density", args = list(mean = 500, sd = 200),
aes(color="textiles", fill="textiles", alpha = 0.75)) +
stat_function(fun = dnorm, geom = "density", args = list(mean = 750, sd = 100),
aes(color="pharmaceuticals", fill="pharmaceuticals", alpha = 0.75)) +
labs(list(title="Fictious 'Density' Returns by Industry", x=NULL, y=NULL, color="Industry")) +
theme(legend.position="none") +
theme(axis.ticks = element_blank(), axis.text.y = element_blank()) +
annotate("text", label="technology", x=275, y=0.008, color="green4") +
annotate("text", label="textiles", x=500, y=0.0025, color="blue4") +
annotate("text", label="pharmaceuticals", x=835, y=0.0045, color="red4")
使用
ggplot\u build
,查看幕后发生的情况:
unique(sapply(ggplot_build(p)$data,'[[','colour'))
[,1] [,2] [,3]
[1,] "#00BA38" "#619CFF" "#F8766D"
unique(sapply(ggplot_build(p)$data,'[[','fill'))
[,1] [,2] [,3]
[1,] "#00BA38" "#619CFF" "#F8766D"
谢谢-实际上我不得不添加另一个
sapply(…,unique)
,以避免抓住每个列表标签的所有101个元素。