2013-03-14 10 views
6

कैसे दिखाएं मैंने ggplot2 के साथ एक साधारण क्लासिक साजिश बनाई है जो एक में दो ग्राफ हैं। हालांकि, मैं किंवदंती दिखाने में संघर्ष कर रहा हूं। यह किंवदंती नहीं दिखा रहा है। मैंने पिघल और रीशेप तरीके का उपयोग नहीं किया, मैं बस क्लासिक तरीके का उपयोग करता हूं। नीचे मेरा कोड है।ggplot2: किंवदंती

df<-read.csv("testDataFrame.csv") 
graph<- ggplot(df,aes(A)) + 

geom_line(aes(y=res1), colour = "1")+ 
geom_point(aes(y=res1),size = 5,shape=12)+ 

geom_line(aes(y=res2), colour = "2")+ 
geom_point(aes(y=res2), size = 5, ,shape=20)+ 

scale_colour_manual(values=c("red","green"))+ 
scale_x_discrete (name="X axis")+ 
scale_y_continuous(name="Y-axis")+ 
ggtitle("Test")+ 
#scale_shape_discrete(name ="results",labels=c("Res1", "Res2"),solid = TRUE) 
print(graph) 

डेटा फ्रेम है:

A,res1,res2 
1,11,25 
2,29,40 
3,40,42 
4,50,51 
5,66,61 
6,75,69 
7,85,75 

कैसे ऊपर ग्राफ के लिए कथा दिखाने के लिए पर कोई सुझाव?

उत्तर

6

ggplot2 में, किंवदंतियों को आपके सौंदर्य सेट (aes) के लिए दिखाया गया है; जैसे group, colour, shape

A variable value 
1  res1 11 
... ... ... 
6  res1 85 
7  res2 75 

आप इस reshape2melt उपयोग करने के साथ पूरा कर सकते हैं (जैसा कि नीचे दिखाया):: और ऐसा करने के लिए, आप के रूप में अपना डेटा प्राप्त करना होगा

require(reshape2) 
require(ggplot2) 

ggplot(dat = melt(df, id.var="A"), aes(x=A, y=value)) + 
     geom_line(aes(colour=variable, group=variable)) + 
     geom_point(aes(colour=variable, shape=variable, group=variable), size=4) 

उदाहरण के लिए, यदि आप colour अंक के लिए नहीं चाहते हैं, तो geom_point(aes(.)) से colour=variable हटाएं। अधिक किंवदंती विकल्पों के लिए, this link का पालन करें।

enter image description here

+0

धन्यवाद। मैं कलर वैरिएबल का नाम कैसे बदलूं। किंवदंती के लिए परिवर्तनीय दिखाने के बजाय, क्या मैं परिणाम जैसे नाम बदल सकता हूं। क्या कोई रास्ता है? आकार के साथ मैंने रंग को हटा दिया है और पैमाने_shape_discrete (नाम = "परिणाम", लेबल = सी ("Res1", "Res1"), ठोस = TRUE का उपयोग किया है और यह काम करता है। यह सुनिश्चित नहीं है कि इसे रंग से कैसे बदला जाए? – SimpleNEasy

+0

डायरेक्ट/सीधा तरीका पिघला हुआ डेटा.फ्रेम को एक वैरिएबल में सहेजना है जैसे: 'df.m <- melt (df, id.var = "A") '। अब, जो कुछ भी आप चाहते हैं उसे 'df.m' कॉलम नाम बदलें। – Arun

+0

बिल्कुल सही। धन्यवाद – SimpleNEasy

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