2013-02-02 10 views
6

Sto provando a formattare l'asse y in un grafico ggplot con uno spazio (e non una virgola) come separatore delle migliaia ; qualcosa come 10 000 e non 10.000. Non riesco a trovarlo nella guida scale_y_continuous.Separatore europeo/francese mille in ggplot

Grazie per qualsiasi suggerimento.

+0

So che questo genere di cose è soggettiva, ma vi incoraggio ad utilizzare 1E1, 1E2 , ecc. (oppure 1.0 * 10^N se è più piacevole). Le stringhe numeriche lunghe che non forniscono una precisione aggiuntiva non sono poi così utili. –

+0

Una sorta di misterioso perché 'ggplot2' non è conforme all'ISU per impostazione predefinita. In questi giorni la maggior parte delle riviste lo richiede. –

risposta

1

Sto solo facendo una pugnalata al buio, ma scale_y_continuous(labels = space) potrebbe fare il trucco.

+1

Non penso che ci sia un formattatore di etichetta 'space' nel pacchetto ** scale **, ma non sarebbe molto difficile scriverne uno. Basta usare 'virgola_formato' come modello. – joran

+0

Grazie mille per l'idea, Joran. – user2035816

+0

@ user2035816 Usa '@ joran' in modo che possa ricevere una notifica ogni volta che gli rispondi. Inoltre, chiudi la domanda poiché è irrilevante ora. – David

10

Come @David e @joran hanno appena detto.

In primo luogo, definire il formattatore etichetta:

space <- function(x, ...) { 
    format(x, ..., big.mark = " ", scientific = FALSE, trim = TRUE) 
} 

e poi usarlo con scale_y_continous:

plot + scale_y_continuous(labels = space) 
+0

questo aggiunge uno spazio normale come separatore, ma solitamente lo spazio è più piccolo? riesci a pensare a un modo per riuscirci? – timat