Ho un grafico in ggplot2 con, diciamo, 2 righe e nella legenda ho "Squali" e "Tigri". C'è un modo per far apparire le immagini di squalo/tigre nella legenda invece di quel testo?Usa immagine invece di etichette nella legenda ggplot2
risposta
È molto meglio usare ggsave
per salvare la figura come eps
o svg
, quindi aprirla in Illustrator (o equivalente open source) e sostituire la legenda con le immagini. Se sei davvero morto e stai facendo tutto in R, puoi usare annotation_raster
nell'attuale ggplot2
e aggiungere del testo accanto ad esso usando geom_text
. Ecco un tentativo di massima:
set.seed(10)
library(ggplot2)
library(RCurl)
library(png)
df <- data.frame(animal = sample(c("sharks", "tigers"),20, rep=T), time=1:20,
scariness = rnorm(20)*-20)
shark <- readPNG(getURLContent("http://i.imgur.com/EOc2V.png"))
tiger <- readPNG(getURLContent("http://i.imgur.com/zjIh5.png"))
ggplot(df, aes(time, scariness, group = animal, color = animal)) +
geom_line(show_guide = FALSE) +
annotation_raster(tiger, xmin = nrow(df)-1, xmax = nrow(df),
ymin = max(df$scariness)-(.05*max(df$scariness)),
ymax = max(df$scariness), interpolate = T) +
annotation_raster(shark, xmin = nrow(df)-1, xmax = nrow(df),
ymin = max(df$scariness)-(.1*max(df$scariness)),
ymax = max(df$scariness)-(.05*max(df$scariness)), interpolate = T)
+1 È bello. –
Tu, signore, meriti 1000 birre da internet. O forse solo uno squalo. Tocca a voi. – joran
Straordinaria soluzione ed esempio! Grazie! – nicolaskruchten
- 1. ggplot2: Linea tratteggiata nella legenda
- 2. Inserisci immagine nella legenda matplotlib
- 3. Legenda personalizzata/immagine come legenda nella mappa del prospetto
- 4. Controllo dell'ordine di visualizzazione della legenda ggplot2
- 5. ggplot2 legenda per stat_summary
- 6. pyplot combina più etichette di linea nella legenda
- 7. R: sort legenda in ggplot2
- 8. ggplot2 Scatter Plot Etichette
- 9. Testo della legenda di avvolgimento in ggplot2
- 10. ggplot2 legenda inferiore e orizzontale
- 11. Combina la legenda in ggplot2
- 12. Legenda posizione del titolo in ggplot2
- 13. Aggiungi legenda al diagramma di linee ggplot2
- 14. bquote non funziona in etichette facet_grid nella versione ggplot2 2.1
- 15. Diverse chiavi della legenda all'interno della stessa legenda in ggplot2
- 16. Legenda Matlotlib: etichette sopra i marcatori
- 17. Legenda del gradiente nella base
- 18. Espressione nelle etichette delle faccette ggplot2
- 19. R ggplot2 legenda all'interno della figura
- 20. ggplot2 aumenta lo spazio tra i tasti della legenda
- 21. rimuovere determinate variabili di legenda e valori di legenda da ggplot2?
- 22. trasformare etichette dell'asse con un moltiplicatore ggplot2
- 23. Usa esterno invece di expand.grid
- 24. Come formattare i valori numerici per la legenda di ggplot2?
- 25. Spazi verticali nella legenda
- 26. ggplot2 heatmap: come conservare l'ordine delle etichette?
- 27. etichette Centro barre in pila (conteggi) ggplot2
- 28. Aggiungere etichette diretti al ggplot2 grafico geom_area
- 29. Etichette degli assi sfalsati in ggplot2
- 30. Prefissi SI nelle etichette degli assi ggplot2
Non ho intenzione di dire che questo è impossibile, ma qualsiasi soluzione si ottiene in R è probabile che sia troppo sopravvalutato più difficile che semplicemente accendere il Photoshop. (Guardare a 'grid.raster' potrebbe comunque iniziare.) – joran
o [gimp] (http://www.gimp.org/) per gli appassionati open source disponibili. – Chase
Sì, farlo a mano in un programma raster è un no-go, questo è per la generazione di grafici ripetuti su larga scala :) – nicolaskruchten