2012-02-10 18 views
19

मेरे पास डेटा की एक समय श्रृंखला है जहां माप 1e6 और 1e8 के बीच सभी पूर्णांक हैं: प्रति माह वेबसाइट हिट। मैं अंक और रेखाओं के साथ इन्हें चार्ट करने के लिए ggplot2 का उपयोग करना चाहता हूं, लेकिन लॉग स्केल के माप को मैप करना चाहता हूं। कुछ ऐसा:लॉग स्केल का उपयोग करते समय मैं ggplot2 में अक्ष श्रेणी कैसे सेट कर सकता हूं?

qplot(month, hits, data=hits.per.month, log="y") 

जब मैं ऐसा करता हूं, तो ggplot 1e6 से 1e8 तक स्केल सेट करने लगता है। मैं इसे 0 से 1e8 तक स्केल करना चाहता हूं। ऐसा करने का प्राकृतिक तरीका कोई उत्पादन पर कोई प्रभाव लगता है:

qplot(month, hits, data=hits.per.month, log="y", ylim=c(0, 100000000)) 

मैं चित्र मैं हिट बदलने से पहले यह qplot तक पहुँच जाता है से चाहते हैं प्राप्त कर सकते हैं, लेकिन उस अक्ष पर लेबल परिवर्तन:

qplot(month, log10(hits), data=hits.per.month, log="y", ylim=c(0, 8)) 

मैंने scale_y_log10 के साथ विभिन्न संयोजनों की भी कोशिश की, लेकिन कोई भाग्य नहीं था।

तो, ggplot2 में लॉग स्केल का उपयोग करते समय मैं वाई अक्ष श्रेणी कैसे सेट करूं?

उत्तर

25

अधिकतर ggplot2 अगर कोई qplot का उपयोग नहीं करता है तो बस मुझे स्पष्ट है। इस तरह आप एक भी समारोह कॉल में सब कुछ cramming नहीं हैं:

df <- data.frame(x = 1:10, 
       y = seq(1e6,1e8,length.out = 10)) 

ggplot(data = df,aes(x = x, y =y)) + 
    geom_point() + 
    scale_y_log10(limits = c(1,1e8)) 

enter image description here

मैं तुम्हें ग्रहण करने के लिए वास्तव में 0 से ay अक्ष न्यूनतम मतलब नहीं था जा रहा हूँ एक लॉग पैमाने पर के बाद से, कि , उम, समस्याग्रस्त है।

+5

+1 सहमत हैं, कभी भी qplot() –

+0

धन्यवाद का लटका नहीं मिला। ये मेरे लिए सही है। हालांकि मेरी इच्छा है कि मैं _why_ समझ गया जो काम करता है और 'qplot' संस्करण नहीं है। – jml

+7

आपको इस तरह की सुपरस्क्रिप्ट्स के साथ व्यक्त करने के लिए वाई-अक्ष पर मूल्य कैसे प्राप्त हुए? –

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

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