目前尚不清楚您希望它是什么样子,但您可以选择两种选择之一。您可以使用geom_vline() 或geom_segment()。 Vline 会从底部到顶部做一条线,但听起来你可能更喜欢使用段。试试这个:
+ geom_segment(x = min(x), xend = min(x), y = 0, yend = 1)
如果您更改 yend 参数,您可以使刻度变小或变大。为最大值绘制一个应该像将min() 参数交换为max() 参数一样简单。或者您可以手动输入值。或者,您可以添加一条 vline 以达到面板的整个高度:
+ geom_vline(xintercept = min(x))
您可以阅读有关here 的更多信息。如果这没有太大帮助,您可以提供一个正确的reprex,也许还可以提供您所需输出的草图,我们可以修改该代码以更接近您想要的。
编辑:
在绘图窗口之外编写有点困难,但this 链接可能会对您有所帮助。我已经尝试了一些,并且总是发现在我的情况下使用不同的解决方案更容易。这是一种选择:
library(ggplot2)
set.seed(123) # so we have the same toy data
df <- data.frame(x=1:100,y=rnorm(100,10,1))
ggplot(df) +
geom_point(aes(x=x,y=y)) +
geom_segment(x=0, xend=18, y=8.033383, yend=8.033383) + # draw to x axis
geom_segment(x=18, xend=18, y=0, yend=8.033383) + # draw to y axis
annotate("text", 18.2, 8.2, label="(8, 8.03)", size=3) # ordered pair just above it
如果您不想一直画到这一点,您可以更改第一个 xend 和 yend 参数,其中 x/y 从零开始位于边缘上方绘图窗口。