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
