如何在ggplot2中更改自定义图例中的线条角度

A G*_*ore 6 r ggplot2 legend-properties

我正在尝试为我的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"))
Run Code Online (Sandbox Code Playgroud)

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

use*_*650 8

您可以更改线路是如何在关键得出:我改变了y0y1该segmentsGrob,让他们在中心(= 0.5).(ps GeomAbline$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"))
Run Code Online (Sandbox Code Playgroud)