ggplot2不显示geom_abline中的要素的图例

时间:2015-05-01 13:46:37

标签: r ggplot2

我很难让ggplot显示颜色和线条类型的图例,因为它们只在geom_abline中定义。

我在下面添加了一个非常简单的示例。   它生成如图所示的图(没有图例)。

我还尝试在剧情中添加scale_color_manual,但这似乎并没有成功。   有谁知道如何让ggplot2显示传说?

library(ggplot2);

xy_data    = data.frame(x=runif(100, min=-0.5, max=0.5), 
                        y=runif(100, min=-0.5, max=0.5));

slope_data = data.frame(slope  = c(-1, -0.5, 0.5, 1.0),
                        model  = paste0("m", seq(1,4)),
                        robust = rep(c("Robust", "Non-robust"), 2))

merged_data = merge(xy_data, slope_data)

slope_plot = 
  ggplot()+
  geom_point(data=xy_data,     aes(x=x, y=y))+
  geom_abline(data=slope_data, aes(intercept=0, slope=slope, color=model, linetype=robust))

ggsave(plot=slope_plot, file="no_legend_slope_plot.png")

Plot: notice missing legends for color and linestyle

1 个答案:

答案 0 :(得分:3)

您可以尝试:

slope_plot = ggplot() +
  geom_point(data=xy_data, aes(x=x, y=y)) +
  geom_abline(data=slope_data, aes(intercept=0, slope=slope, color=model, linetype=robust), show_guide=TRUE)

enter image description here