Mi piacerebbe creare un grafico sfaccettato con margini in ggplot2. Tuttavia, mi piacerebbe che la trama del margine avesse colori in base a quale facet il punto particolare è stato derivato. E 'probabilmente meglio illustrato con un esempio:Punti colorazione per fattore all'interno del margine di un diagramma ggplot2 sfaccettato in R
library(ggplot2)
p <- ggplot(mtcars, aes(mpg, wt)) + geom_point()
p + facet_grid(.~gear, margins = TRUE)
all'interno della trama margine di etichettato come "(tutti)", voglio quei puntini che hanno "marcia = 3" da tracciare con un colore, quelli con "marcia = 4 "con un secondo colore e quelli con" ingranaggio = 5 "con un terzo.
questo non fare il lavoro:
p <- ggplot(mtcars, aes(mpg, wt)) + geom_point(aes(col=gear))
p + facet_grid(.~gear, margins = TRUE)
C'è un modo per ottenere ciò che voglio?
Ok, grazie, questa è davvero una buona e semplice idea! L'unico inconveniente è che in quel caso non vedo un modo per rimuovere i colori dai grafici non marginali. Hai davvero idea del perché 'col (gear)' (o 'col = (as.factor (gear))') non funziona, ma 'col = ref' fa? – AnjaM
La modifica è migliore? Non è la soluzione più elegante, ma spero che aiuti. Penso che abbia a che fare con la definizione di colori e sfaccettature con la stessa variabile, ggplot conferisce ad ogni sfaccettatura il proprio colore. –
@AnjaM potresti provare ad aggiungere 'scale_color_manual (values = c (" black "," red "," green "," blue "))'. 'col = (as.factor (gear))' non funzionerà ma 'col = as.factor (gear)' dovrebbe – Carson