सेट:
यह जवाब है यह मानते हुए कि आपकी इच्छानुसार वाई का मूल्य विशेष रूप से आपके डेटा सेट में है। सबसे पहले, के रूप में मैं अपने डेटा सेट उपयोग नहीं कर सकते की एक प्रतिलिपि प्रस्तुत करने योग्य उदाहरण बना सकते हैं:
set.seed(9999)
stats <- data.frame(y = sort(rbeta(250, 1, 10)*10 ,decreasing = TRUE), x = 1:250)
ggplot(data=stats, aes (x=x, y=y, group=1)) + geom_line()
आप क्या करने की जरूरत विशिष्ट मूल्य के लिए खोज करने के लिए अपने डेटा फ्रेम में y
कॉलम का उपयोग करना है। अनिवार्य रूप से आपको
ggplot(data=stats, aes (x=x, y=y, group=1)) + geom_line() +
geom_vline(xintercept = stats[stats$y == 2, "x"])
ऊपर उत्पन्न डेटा का उपयोग करने की आवश्यकता होगी, यहां एक उदाहरण है। चूंकि मेरे डेटा फ्रेम संभावना सही मूल्य 2
शामिल नहीं है, मैं इसके लिए खोज करने के लिए trunc
समारोह का उपयोग करेगा:
stats[trunc(stats$y) == 2, ]
# y x
# 9 2.972736 9
# 10 2.941141 10
# 11 2.865942 11
# 12 2.746600 12
# 13 2.741729 13
# 14 2.693501 14
# 15 2.680031 15
# 16 2.648504 16
# 17 2.417008 17
# 18 2.404882 18
# 19 2.370218 19
# 20 2.336434 20
# 21 2.303528 21
# 22 2.301500 22
# 23 2.272696 23
# 24 2.191114 24
# 25 2.136638 25
# 26 2.067315 26
अब हम जानते हैं कि जहां सभी 2 के मूल्यों कर रहे हैं। चूंकि यह ग्राफ कम हो रही है, हम इसे रिवर्स जाएगा, तो मान 2 के सबसे करीब शुरुआत में हो जाएगा:
rev(stats[trunc(stats$y) == 2, 1])
# y x
# 26 2.067315 26
और हम निर्दिष्ट करने के लिए है कि मूल्य का उपयोग कर सकते है, जहां x अवरोधन होना चाहिए:
ggplot(data=stats, aes (x=x, y=y, group=1)) + geom_line() +
geom_vline(xintercept = rev(stats[trunc(stats$y) == 2, "x"])[1])
आशा है कि मदद करता है!
ऐसा लगता है कि ओपी लंबवत रेखा को "वाई के एक विशेष मूल्य पर" खींचना चाहता है। चीयर्स। – Henrik
@ हेनरिक हां, आप सही हैं, मैं इस सवाल को गलत समझता हूं, लेकिन जेडएनके ने पहले ही उस समस्या का जवाब दिया है –