2011-12-02 15 views
6

मैं भूखंड बनाने के लिए ggplot का उपयोग कर रहा हूं, और मैं हमेशा क्षैतिज रूप से अपने डेटा बिंदुओं को ऑफ़सेट करना चाहता हूं ताकि त्रुटि बार ओवरलैप न हों। मैंने पाया है कि जब मैंने अपने एक्स अक्ष के लिए दिनांक डेटा का उपयोग किया, तो मैंने अपने डेटा बिंदुओं को ऑफ़सेट करने की क्षमता खो दी।आर और ggplot- दिनांक में एक्स अक्ष को बदलना स्थिति चकमा

DF=data.frame(Date=c("2006-09-01", "2007-09-01", "2008-09-01" ,"2009-09-01", "2010-01-01" ,"2011-01-01"),Count=c(1,2,3,4,5,6,2,4,6,8,10,12),Type=c('A','A','A','A','A','A','B','B','B','B','B','B')) 

अगर मैं इस तरह ggplot का उपयोग करके उपरोक्त डेटा फ्रेम साजिश, अंक

dodge=position_dodge(.5) 
ggplot(data=DF,aes(x=Date,y=Count,group=Type))+geom_point(position=dodge) 

ऑफसेट लेकिन कर रहे हैं कि क्या मैं वास्तविक दिनांक

DF$Date=as.Date(DF$Date) 
ggplot(data=DF,aes(x=Date,y=Count,group=Type))+geom_point(position=dodge) 

अंक हैं के रूप में दिनांक डेटा को नामित अब ऑफसेट नहीं है, भले ही मैं उन्हें

निर्दिष्ट करता हूं, मैंने अतीत में इस समस्या से परहेज किया है मेरा दिनांक डेटा केवल "वर्ष" तक सीमित रखकर और इसे संख्यात्मक के रूप में व्यवहार करके। लेकिन अब मुझे महीने की जानकारी शामिल करने की ज़रूरत है (मैं अपनी तिथि में दिन शामिल करता हूं "जैसा कि मैं इसे शामिल नहीं करता हूं।

तो क्या कोई मुझे बता सकता है कि कोई तरीका है जो मैं कर सकता हूं एक ggplot का उपयोग कर समय श्रृंखला है कि मुझे मेरे डेटा बिंदुओं और त्रुटि सलाखों ऑफसेट करने की अनुमति देगा साजिश।

उत्तर

9

असल अंक थोड़ा टाल रहे हैं।

आप को ध्यान में रखना है कि एक वर्ष के बीच का अंतराल 365 दिन की जरूरत है। position_dodge(0.5) बिंदु (आधे दिन)/2। द्वारा स्थानांतरित करता है, इसलिए स्थिति एक वर्ष अंतराल के 0.5/2/365 की ओर बढ़ती है।

आप position_dodge (0.5 * 365) चुनते हैं `, तो आप साजिश के रूप में उम्मीद मिल जाएगा:

DF <- data.frame(
    expand.grid(Date=c("2006-09-01", "2007-09-01", "2008-09-01" ,"2009-09-01"), 
    Type = c("A", "B")), 
    Count = 1:4) 
DF$Date2 <- as.Date(DF$Date) 

ggplot(data=DF,aes(x=Date2,y=Count,group=Type))+ geom_point(position = position_dodge(365*0.5)) 

enter image description here

+0

प्रतिभा! जवाब के लिए धन्यवाद – Vinterwoo

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