ggplot

2013-03-02 12 views
11

में लॉग स्केल के लिए सुंदर धुरी लेबल जब मैं निम्न में से किसी एक का प्रयास करता हूं तो अक्ष स्केल 1e + 03, 1e + 06, 1e + 09 है - क्या यह अच्छा सुपरस्क्रिप्ट 10^3, 10^6, 10 प्राप्त करना संभव है^9 मैन्युअल लेबलिंग का उपयोग किए बिना? मुझे याद है कि यह स्वचालित रूप से अतीत में हो रहा है।ggplot

qplot(1:10, 10^(1:10))+scale_y_log10() 
qplot(1:10, 10^(1:10), log='y') 

उत्तर

27

आप पुस्तकालय scales से trans_breaks() और trans_format() का उपयोग अक्ष मान के वांछित स्वरूपण प्राप्त करने के लिए कर सकते हैं।

library(scales) 
qplot(1:10, 10^(1:10)) + 
    scale_y_log10(breaks = trans_breaks("log10", function(x) 10^x), 
       labels = trans_format("log10", math_format(10^.x))) 

enter image description here

+0

कैसे मैं डैश 10 और 1000 के बीच (उदाहरण के लिए 200, 500 और 700 के लिए) y अक्ष पर जोड़ सकते हैं? –

+0

मुझे लगता है कि आप जो खोज रहे हैं वह है: "p + annotation_logticks()" संदर्भ के लिए http://ggplot2.tidyverse.org/reference/annotation_logticks.html देखें – dabsingh