2014-12-08 23 views
8

मैं ggplot2 में एक रेखा ग्राफ बनाने की कोशिश कर रहा हूं जो कुछ चर के लिए विभिन्न चर शैलियों और अन्य चर के लिए अलग-अलग मार्करों को जोड़ती है।विभिन्न लाइन शैलियों और मार्करों के साथ ggplot लाइन ग्राफ़

उदाहरण 1 एक अलग लाइन शैली के साथ प्रत्येक चर रेखांकन, उदाहरण 2 रेखांकन एक अलग मार्कर के साथ प्रत्येक, और उदाहरण 3 रेखांकन अलग लाइनों और मार्कर के साथ प्रत्येक।

मैं अलग लाइन शैलियों (ठोस, धराशायी) और फिर एक्स 4 और विभिन्न मार्कर के साथ ठोस लाइनों के रूप में X5 साथ X2 और X3 ग्राफ़ बनाने के लिए कोशिश कर रहा हूँ (हलकों, वर्ग, जो कुछ भी)।

क्या ऐसा करने का कोई तरीका है ??

library(ggplot2) 
library(reshape2) 

set.seed <- 1 
df <- data.frame(cbind(seq(1,10,1),matrix(rnorm(100,1,20), 10, 4))) 
d <- melt(df, id="X1") 

# Example 1: different line styles 
ggplot(d, aes(x=X1, y=value, color=variable)) + 
    geom_line(aes(linetype=variable), size=1) 

# Example 2: different markers for each line 
ggplot(d, aes(x=X1, y=value, color=variable)) + 
    geom_line() + geom_point(aes(shape=variable, size=4)) 

# Example 3: differnt line styles & different markers (You see this graph below) 
ggplot(d, aes(x=X1, y=value, color=variable)) + 
    geom_line(aes(linetype=variable), size=1) + 
    geom_point(aes(shape=variable, size=4)) 

enter image description here

+0

एक पहला सवाल है, यह अच्छी तरह से एक प्रतिलिपि प्रस्तुत करने योग्य नमूने के साथ लिखा है। अच्छा काम! :) – jazzurro

उत्तर

7

यहाँ एक दृष्टिकोण है। आप आकार और रेखा प्रकार को नियंत्रित करने के लिए दो और फ़ंक्शंस का उपयोग कर सकते हैं। scale_linetype_manual आपको मैन्युअल रूप से लाइन प्रकार असाइन करने की अनुमति देता है। इसी तरह, scale_shape_manual आपको इच्छित आकार को मैन्युअल रूप से असाइन करने की अनुमति देता है।

# Example 3: differnt line styles & different markers 
ggplot(d, aes(x=X1, y=value, color=variable)) + 
geom_line(aes(linetype=variable), size=1) + 
geom_point(aes(shape=variable, size=4)) + 
scale_linetype_manual(values = c(1,2,1,1)) + 
scale_shape_manual(values=c(0,1,2,3)) 

enter image description here

+0

अद्भुत! आपकी सहायता के लिए बहुत - बहुत धन्यवाद। मैं अभी भी ggplot2 की सभी सुविधाओं को सीख रहा हूं। – learnmorer

+0

@ लर्नमोरर खुशी। :) मैं अभी भी ggplot2 हर रोज सीख रहा हूँ! – jazzurro

+1

मुझे लगता है कि geom_point लाइन में कोई त्रुटि है। आकार कोष्ठक के बाहर किया जाना चाहिए: 'geom_point (एईएस (आकार = चर), आकार = 4)' – luchonacho

संबंधित मुद्दे