之前一直有这个疑问,但是一直没有找到办法,今天看到了一个函数ggplot_build()
我们先来做一个简单的柱形图
library(ggplot2)
df<-data.frame(x=c("A","B","C"),
y=c(1,2,3))
p<-ggplot(data=df,aes(x=x,y=y))+
geom_col(aes(fill=x))
p
image.png
运行 ggplot_build(p)$data
就能够获得作图的数据
> ggplot_build(p)$data
[[1]]
fill x y PANEL group flipped_aes ymin ymax xmin xmax colour
1 #F8766D 1 1 1 1 FALSE 0 1 0.55 1.45 NA
2 #00BA38 2 2 1 2 FALSE 0 2 1.55 2.45 NA
3 #619CFF 3 3 1 3 FALSE 0 3 2.55 3.45 NA
size linetype alpha
1 0.5 1 NA
2 0.5 1 NA
3 0.5 1 NA
fill那一列对应的就是颜色值
网友评论