7

我正在尝试向我的 ggplot 添加自定义图例,但图例框的线条呈一定角度。我想将该角度更改为 0 度。有没有办法做到这一点?以下是示例图的代码。

ggplot()+geom_abline(aes(color="black",,slope=1,intercept = 0))+
   geom_abline(aes(color="red",slope=0.5,intercept = 0))+
   scale_color_manual(values=c("black"="black","red"="red"))

我们可以看到图例框中的线条略微倾斜,我想让它们水平。 在此处输入图像描述

4

1 回答 1

9

您可以更改键中线条的绘制方式:我更改了segmentsGrob的y0y1,使它们位于中心(= 0.5)。(psGeomAbline$draw_key在你改变它之前看看)

library(ggplot2)
library(grid)

GeomAbline$draw_key <- function(data, params, size) 
{
    segmentsGrob(0, 0.5, 1, 0.5, gp = gpar(col = alpha(data$colour, 
        data$alpha), lwd = data$size * .pt, lty = data$linetype, 
        lineend = "butt"))
}  

ggplot() + geom_abline(aes(color="black",slope=1,intercept = 0))+
   geom_abline(aes(color="red",slope=0.5,intercept = 0))+
   scale_color_manual(values=c("black"="black","red"="red"))
于 2016-02-29T22:18:10.840 回答