使用ggplot2从-infinity到无穷大的行?

时间:2016-09-13 13:57:28

标签: r ggplot2

我想用ggplot2

绘制这样的东西

enter image description here

我可以这样做:

library(ggplot2)
ggplot() + geom_hline(yintercept=1) + 
  ylab("Likelihood") + 
  theme(axis.ticks = element_blank(), axis.text.y = element_blank(), 
        panel.background = element_blank())

enter image description here

但是我仍然需要添加-infinity 0和infinity

的行

1 个答案:

答案 0 :(得分:1)

使用this post的一些帮助,以及一个有些狡猾的解决方案,我们可以提出一些建议:

ggplot() + geom_hline(yintercept=1) + 
    ylab("Likelihood") + 
    xlab('')+
    theme(axis.ticks = element_blank(), axis.text.y = element_blank(), 
          panel.background = element_blank())+
    scale_x_continuous(breaks = c(-5,0,5),
                       labels = c(expression(-infinity), 0, expression(infinity)),
                       limits = c(-5,5))+
    geom_segment(aes(x = -Inf, xend = Inf, y = -1, yend = -1),
                 arrow = arrow(length = unit(.2, 'cm')))+
    geom_segment(aes(x = Inf, xend = -Inf, y = -1, yend = -1),
                 arrow = arrow(length = unit(.2, 'cm')))+
    ylim(c(-1,3))

enter image description here