मैं ggplot का उपयोग करके प्रत्येक कैलेंडर वर्ष के लिए एक समय श्रृंखला में परिवर्तन को साजिश करने का प्रयास कर रहा हूं और मुझे एक्स-अक्ष के ठीक नियंत्रण में समस्याएं आ रही हैं। अगर मैं scale="free_x"
का उपयोग नहीं करते तो मैं एक x- अक्ष के साथ ही प्रश्न में वर्ष है कि कई वर्षों से पता चलता अंत, इस तरह:आर ggplot और facet ग्रिड: x-axis breaks को नियंत्रित करने के लिए कैसे करें
अगर मैं scale="free_x"
प्रयोग करते हैं तो के रूप में एक मैं उम्मीद करेंगे प्रत्येक भूखंड के लिए टिक लेबल के साथ खत्म हो, और कहा कि कुछ मामलों में, भूखंड के हिसाब से बदलती है जो मैं नहीं करना चाहता:
मैं scale_x_date आदि, लेकिन किसी भी बिना का उपयोग कर x- अक्ष को परिभाषित करने के लिए विभिन्न प्रयास किए हैं सफलता। मेरा सवाल इसलिए है:
प्रश्न: मैं xg axis ब्रेक और लेबल को ggplot facet ग्रिड पर कैसे नियंत्रित कर सकता हूं ताकि (टाइम श्रृंखला) x-axis प्रत्येक पहलू के समान हो, केवल तभी दिखाया जा सके पैनल और महीनों के रूप में 1, 2, 3 इत्यादि या 'जन', 'फरवरी', 'मार्च' के रूप में स्वरूपित है?
कोड इस प्रकार है:
require(lubridate)
require(ggplot2)
require(plyr)
# generate data
df <- data.frame(date=seq(as.Date("2009/1/1"), by="day", length.out=1115),price=runif(1115, min=100, max=200))
# remove weekend days
df <- df[!(weekdays(as.Date(df$date)) %in% c('Saturday','Sunday')),]
# add some columns for later
df$year <- as.numeric(format(as.Date(df$date), format="%Y"))
df$month <- as.numeric(format(as.Date(df$date), format="%m"))
df$day <- as.numeric(format(as.Date(df$date), format="%d"))
# calculate change in price since the start of the calendar year
df <- ddply(df, .(year), transform, pctchg = ((price/price[1])-1))
p <- ggplot(df, aes(date, pctchg)) +
geom_line(aes(group = 1, colour = pctchg),size=0.75) +
facet_wrap(~ year, ncol = 2,scale="free_x") +
scale_y_continuous(formatter = "percent") +
opts(legend.position = "none")
print(p)
Sasu गा kohske देव संस्करण के लिए एक उदाहरण है। जब आप इसके बारे में सोचते हैं तो सरल और तार्किक और यह मेरे डेटा के साथ बहुत अच्छी तरह से काम करता है। क्या मैं यह भी पूछ सकता हूं कि क्या कोई है (ब्रेक और लेबल्स को जनवरी से दिसंबर तक जाकर अपने स्क्रीनशॉट में जनवरी से जनवरी तक जाने के बजाय सीधा तरीका है? मैं जनवरी से जनवरी के साथ रह सकता हूं, बस सोच रहा हूं कि क्या कोई है कामकाज। धन्यवाद दान – SlowLearner
अरिगाटौ गोज़ैमासु। यह वर्तमान संस्करण में शायद आसान नहीं है। – kohske
समझा जाता है, मैं इसे स्वीकार करूँगा क्योंकि यह प्रशंसा के साथ है। – SlowLearner