将正和负x轴ggplot线绑定到一个域中

时间:2017-11-07 22:37:30

标签: r ggplot2 graph line

我有两个线图,它们的y轴与概率相同,但x轴不同,一个在正域,另一个在负。但是我希望在一个域中重叠两条线并在视觉上比较斜率。我怎样才能在order by monthly_sales / power(quality_score, 2.4) 中实现这一目标?

df1

ggplot

DF2

 prob           gain
0.09566978      0.010
0.18838910      6.538
0.31826666      13.066
0.47170068      19.594
0.62754900      26.122
0.76485831      32.650

当前代码

 prob            loss
0.04004953      -32.650
0.10689695      -26.122
0.22896403      -19.594
0.40107903      -13.066
0.59289582      -6.538
0.76498002      -0.010

enter image description here

我想对两条线使用相同的轴(正)。

谢谢!

2 个答案:

答案 0 :(得分:2)

以下是我们使用lossabs() rev()数据的解决方案(您需要两者)。

# Using OPs data
library(ggplot2)
ggplot() + 
    geom_line(data = df1, 
              aes(gain, prob), 
              color = "red") + 
    geom_line(data = df2, 
              aes(rev(abs(loss)), prob), 
              color = "blue") +
    labs(x = NULL) +
    ylim(c(0,1))

enter image description here

答案 1 :(得分:0)

不确定你的意思。如果你想翻转曲线,请按照@SébastienRochette的建议行事。如果你想转移曲线可能你想做

df2$loss <- df2$loss + (df1$gain[1] - df2$loss[1])

就像我说的 - 不确定,如果这就是你想要的。它肯定在数据中,而不在图中。