2012-11-02 10 views
15

मैं वाई-अक्ष पर सुंदर लेबल रखना चाहता हूं। उदाहरण के लिए, मैं 1000 के बजाय 1,000 रखना पसंद करता हूं। मैं इसे ggplot में कैसे कर सकता हूं? यहां एक न्यूनतम उदाहरण दिया गया है:एक्स या वाई धुरी के लेबल में हजार विभाजक

x <- data.frame(a=c("a","b","c","d"), b=c(300,1000,2000,4000)) 
ggplot(x,aes(x=a, y=b))+ 
       geom_point(size=4) 

किसी भी संकेत के लिए धन्यवाद।

उत्तर

23

scales पैकेज के साथ, कुछ स्वरूपण विकल्प उपलब्ध हो जाते हैं: अल्पविराम, डॉलर, प्रतिशत। ?scale_y_continuous में उदाहरण देखें।

मैं इस आप क्या चाहते हैं करता है लगता है:

library(ggplot2) 
library(scales) 

x <- data.frame(a=c("a","b","c","d"), b=c(300,1000,2000,4000)) 

ggplot(x, aes(x = a, y = b)) + 
    geom_point(size=4) + 
    scale_y_continuous(labels = comma) 
+0

यह है कि। बहुत बहुत धन्यवाद। – giordano

1

सँवारना हजारों बुनियादी format() समारोह के साथ किसी भी चरित्र का उपयोग:

उदाहरण 1 (अल्पविराम से अलग)।

format(1000000, big.mark = ",", scientific = FALSE) 
[1] "1,000,000" 

उदाहरण 2 (स्पेस अलग)।

format(1000000, big.mark = " ", scientific = FALSE) 
[1] "1 000 000" 

एक गुमनाम समारोह का उपयोग कर कुल्हाड़ियों लेबल ggplot को format() लागू करें:

ggplot(x, aes(x = a, y = b)) + 
     geom_point(size = 4) + 
     scale_y_continuous(labels = function(x) format(x, big.mark = ",", 
                 scientific = FALSE)) 
संबंधित मुद्दे