2014-05-08 17 views
5

Ho messo insieme l'app Shiny (sotto), mostrando un coropleto, che sembra buono tranne che per la notazione scientifica sulla legenda.interruzioni di impostazione ed etichette in ggplot

Vorrei i valori di leggere: '$ 5.000.000', e '$ 4.000.000', ecc, ecc

enter image description here

Il codice si riduce a

g <-choroplethr(DF, lod="state", num_buckets = 1) 
g <- g + scale_fill_gradient(high = "springgreen4", low= "grey90", name="Sum") 

ho tentato questo:

g <- q + scale_fill_gradient(high = "springgreen4", low= "grey90", name="Sum", labels = c("5,000,000", "4,000,000", "3,000,000", "2,000,000", "1,000,000")) 

Ma ho ricevuto l'errore, Interruzioni e etichette sono diverse lunghezze

io non sono sicuro di come posso specificare pause sull'asse x quando ho a che fare con una mappa? Come posso creare interruzioni che funzionano con le etichette che voglio includere? Grazie.

risposta

8

Se si aggiunge l'argomento labels= a scale_fill_gradient(), è inoltre necessario aggiungere l'argomento breaks= che corrisponde alle stesse lunghezze delle etichette.

+ scale_fill_gradient(high = "springgreen4", low= "grey90", name="Sum", 
      labels = c("5,000,000", "4,000,000", "3,000,000", "2,000,000", "1,000,000"), 
      breaks = c(5000000, 4000000, 3000000, 2000000, 1000000)) 

In questo caso una soluzione migliore sarebbe quella di utilizzare solo il formato dollar dalla libreria scales. Ciò aggiungerà automaticamente i segni e le virgole del dollaro.

library(scales) 
+ scale_fille_gradient(labels=dollar) 
+2

in aggiunta a sopra per il formato dollaro, questo potrebbe funzionare 'etichette = paste0 ("$", c ("5.000.000", "4.000.000", "3.000.000", "2.000.000", "1.000.000"))' , – OdeToMyFiddle

+0

funziona perfettamente. Vi amo ragazzi. –

+0

@ MattO'Brien ha aggiornato la mia risposta con una soluzione più semplice –

Problemi correlati