如何在ggplot中画一条线

时间:2019-01-12 19:49:10

标签: r ggplot2

超级简单,但是我已经花了数小时尝试这里的示例,并且无法修复。

我正在制作一条具有三个固定水平线到达一条曲线的图表。从曲线上,我希望虚线从三个点到底部。

这三行分别是11080、15320和22400,它们到达曲线NetWage(从0到30000,23000)。目前,它们使用实线达到了零:http://www.mpbi.se/bidragsbarriar.html,但我希望用虚线来使其更容易。

有很多方法可以解决此问题,但可惜我对此一无所知,请:)

1 个答案:

答案 0 :(得分:1)

这可以通过geom_segment将参数lty设置为适当的值来解决。我还定义了一个辅助函数来计算对角线的截距。

library(ggplot2)

df1 <- data.frame(y = c(11080, 15320, 22400))

fx <- function(y) 30000/23000*y

ggplot(df1) +
  xlim(0, 30000) +
  ylim(0, 23100) +
  geom_segment(aes(x = 0, y = y, xend = fx(y), yend = y)) +
  geom_segment(aes(x = fx(y), y = 0, xend = fx(y), yend = y),
               lty = "dotted") +
  geom_abline(aes(intercept = 0, slope = 23000/30000))

enter image description here