Ggplot में प्लॉट डिस्कनेक्ट की गई रेखा [डुप्लिकेट]

Jan 14 2021

मैं ggplot का उपयोग करके डिस्कनेक्ट लाइनों के साथ एक चार्ट बनाना चाहता हूं

# Sample data
x <- seq(1:100)
y <- c(rnorm(25, mean = 1, sd = 1), rnorm(25, mean = 2, sd = 1), rnorm(25, mean = 3, sd = 1), rnorm(25, mean = 4, sd = 1))
z <- rep(1:4, each = 25)
tempdf <- data.frame(cbind(x,y,z))

कोड का उपयोग करना

ggplot(data=tempdf, aes(x = x)) +
    geom_line(aes(y = y), color = "blue") + 
    geom_line(aes(y = z), color = "red", size = 1)

मुझे यह आउटपुट मिलता है

हालाँकि मैं कुछ बनाना चाहता हूँ (नोटिस लाल रेखाएँ चरणों में जुड़ी नहीं हैं)

मैंने प्रयोग करने की कोशिश की geom_segmentलेकिन सही तरीके से पता नहीं लगा सका

ggplot(data=tempdf, aes(x = x)) +
    geom_line(aes(y = y), color = "blue") + 
    geom_segment(x = x, y = z, xend = x+25, yend = z)

यह देता है

जवाब

2 GregorThomas Jan 14 2021 at 06:02

groupकौन सी पंक्तियाँ जुड़ी हैं, इसे परिभाषित करने के लिए एक सौंदर्यशास्त्र का उपयोग करें :

ggplot(data=tempdf, aes(x = x)) +
    geom_line(aes(y = y), color = "blue") + 
    geom_line(aes(y = z, group = z), color = "red", size = 1)

(यह आपके नमूना डेटा के लिए आसानी से काम करता है group = zक्योंकि आप चाहते हैं कि वे लाइनें जुड़ी हों, यदि उनका zमूल्य समान है और मूल्य zअद्वितीय हैं। एक अधिक मजबूत तरीका इस उद्देश्य के लिए एक स्तंभ जोड़ देगा।)