I am interested in automatically extracting the legend of ggplot2 object as a table (not as a graphics object). Let's illustrate with an example:
p <- ggplot(iris, aes(x=Sepal.Length, y= Petal.Length, color=Species)) +
geom_point()
p
Now there is a previous question, which shows how one can extract the colours used in the plot:
g <- ggplot_build(p)
unique(g$data[[1]]["colour"])
colour
1 #F8766D
51 #00BA38
101 #619CFF
But I am also interested in the labels which those colours correspond to in the legend, i.e. the final result I would be interested in is the following table:
colour label
#F8766D setosa
#00BA38 versicolor
#619CFF virginica
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…