R ggplot2:在对数刻度上绘制对角线

R ggplot2:在对数刻度上绘制对角线,r,ggplot2,R,Ggplot2,我用默认的R-plot功能创建了一个图形,但现在想改为ggplot2,主要是因为我想使用ggrepel正确放置标签并且不重叠 我的旧绘图包含我需要保留的对角线。它们被描绘成这样: for (i in -5:10) { abline(a= i, b= 1, lty = 5) } 我现在的问题是: 如何使用ggplot2对循环执行此操作,以便不需要添加所有的行 如何正确地创建线条 geom_abline(slope=1, intercept=10) 不按预期工作,可能是由于log10标

我用默认的R-plot功能创建了一个图形,但现在想改为ggplot2,主要是因为我想使用ggrepel正确放置标签并且不重叠

我的旧绘图包含我需要保留的对角线。它们被描绘成这样:

for (i in -5:10) {
    abline(a= i, b= 1, lty = 5)
}
我现在的问题是:

  • 如何使用ggplot2对循环执行此操作,以便不需要添加所有的行

  • 如何正确地创建线条

    geom_abline(slope=1, intercept=10)
    

  • 不按预期工作,可能是由于log10标度。那么,如何在log10刻度上正确绘制对角线呢?

    它实际上工作得很好。这个问题与我的工作直接相关。默认情况下,绘图绘制的面积大于x和y限制定义的面积(谁认为这是个好主意??)。因此,截取看起来是错误的,但实际上是正确的

    geom_abline(slope=1, intercept=10)
    
    如果我为两个轴都设置了
    expand=c(0,0)
    ,那么截距看起来也很好,因为这只会接近极限

    多行的解决方案是截取列表:

     geom_abline(slope=1, intercept=(-3):(5)
    

    可以为坡度写入指定不同的值
    geom\u abline(坡度=(-5):(10),截距=10)
    。如果我理解得很好,你现在有了“log10”刻度,所以你需要画的不是一条线;这是一条曲线。