2014-06-17 14 views
14

Ho uno schema creato in . Mi piacerebbe aggiungere del testo al minimo e al massimo della legenda della scala. Ad esempio, sul display della legenda "Minimo" e sul display della legenda "Massimo". Esistono post che utilizzano riempimenti discreti e aggiungono etichette con numeri anziché testo (ad esempio here), ma non sono sicuro di come utilizzare la funzione labels con scale_fill_gradientn per inserire solo il testo al minimo e al massimo. Allo stato attuale sono suscettibili di ottenere gli errori:Etichetta minima e massima della legenda del gradiente di riempimento della scala con testo: ggplot2

Error in scale_labels.continuous(scale, breaks) : Breaks and labels are different lengths

è possibile questa etichetta di testo all'interno ggplot2 per questo tipo di scala/riempio?

# The example code here produces an plot for illustrative purposes only. 
# create data frame, from ggplot2 documentation 
df <- expand.grid(x = 0:5, y = 0:5) 
df$z <- runif(nrow(df)) 

#plot 
ggplot(df, aes(x, y, fill = z)) + geom_raster() + 
scale_fill_gradientn(colours=topo.colors(7),na.value = "transparent") 

risposta

24

Per scale_fill_gradientn() è necessario fornire entrambi gli argomenti: breaks= e labels= con la stessa lunghezza. Con l'argomento limits= si estende la barra dei colori al valore minimo e massimo necessario.

ggplot(df, aes(x, y, fill = z)) + geom_raster() + 
     scale_fill_gradientn(colours=topo.colors(7),na.value = "transparent", 
          breaks=c(0,0.5,1),labels=c("Minimum",0.5,"Maximum"), 
          limits=c(0,1)) 

enter image description here

+0

È questa risposta è ancora valida? Sto usando il seguente comando inutilmente. I valori minimo e massimo non vengono visualizzati nella barra dei colori. Ecco il mio codice 'scale_fill_gradientn (colors = pal (100), breaks = breaks, limits = lim, labels = breaks, guide = guide_colorbar (title = expression (incolla ('hr', sep =" ")) , title.position = "right", title.vjust = 0.8, barwidth = 75)) ' – Gandalf

+1

Il codice è ancora valido. Il tuo codice non può essere controllato in quanto non è riproducibile. –

Problemi correlati