2010-05-25 11 views
9

जब आप लॉग स्केल चुनते हैं, ggplot2 10^x जैसे ब्रेक स्वरूपित करता है। मैं इसे ऐसा नहीं करना चाहता हूं। उदाहरण के लिए, नीचे दिए गए कोड 1, 2, 5 आदि, नहीं 10^0, 10^0.3, पर टिक के साथ एक ग्राफ प्रदर्शित करना चाहिए 10^0.69 आदिggplot2 के धुरी स्वरूपण को ओवरराइड कैसे करें?

library(ggplot2) 
dfr <- data.frame(x = 1:100, y = rlnorm(100)) 
breaks <- as.vector(c(1, 2, 5) %o% 10^(-1:1)) 
p1 <- ggplot(dfr, aes(x, y)) + geom_point() + scale_y_log10(breaks = breaks) 
print(p1) 

मुझे लगता है कि scale_y_log10 करने के लिए एक formatter तर्क जोड़ने चाल चलती है, लेकिन मुझे यकीन नहीं है कि तर्क में क्या रखा जाए, या जहां विकल्पों को दस्तावेज किया जा सकता है।

उत्तर

8

scale_y_log10(breaks = breaks, labels = breaks चाल करना चाहिए।

+0

आह। जब आप जानते हैं कि आसान है। धन्यवाद। –

4

ggplot2 संस्करण 0.9.0 के रूप में, यह व्यवहार (धुरी लेबल को 10^0 के रूप में स्वरूपित करना) अब डिफ़ॉल्ट नहीं है। प्रश्न में कोड अब वांछित परिणाम देता है।

library(ggplot2) 
dfr <- data.frame(x = 1:100, y = rlnorm(100)) 
breaks <- as.vector(c(1, 2, 5) %o% 10^(-1:1)) 
p1 <- ggplot(dfr, aes(x, y)) + geom_point() + scale_y_log10(breaks = breaks) 
print(p1) 

enter image description here

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