Domanda

Supponiamo che io ho il seguente

y <- rnorm(10)
b <- as.factor(sample(1:4,10,replace=T))
qplot(1:10, y, shape=b)

Come faccio a cambiare le forme che vengono utilizzati con ggplot2?

È stato utile?

Soluzione

Il modo ggplot per farlo sarebbe quello di utilizzare scale_shape_manual e fornire le forme desiderate nell'argomento values:

qplot(1:10, y, shape=b) + scale_shape_manual(values = c(0, 5, 6, 15))

risultato di sopra

Le forme sono uguali alle usuali 0-25 indici: http://yusung.blogspot.com/2008/11/plot-symbols-in-r.html

Altri suggerimenti

Per completare la risposta di Harlan, ecco un riferimento per le forme disponibili - iniziare da 0 in basso a sinistra e leggere a destra e poi verso l'alto (10Y + x):

df <- data.frame(x=c(0:129))
ggplot(df, aes(x=x%%10, y=floor(x/10), shape=factor(x), colour=x, size=10)) +
  geom_point() +
  scale_shape_manual(values=df$x) + theme(legend.position='none') +
  scale_x_continuous(breaks=0:10) + scale_y_continuous(breaks=0:12) +
  scale_colour_hue() + scale_colour_gradientn(colours=rainbow(3))

Forme di fornitura in ggplot2

> y <- rnorm(10)
> b <- as.factor(sample(1:4,10,replace=T))
> qplot(1:10, y, shape=b)
> qplot(1:10, y, pch=letters[1:10], cex=6)

E 'questo che vuoi dire? Immagino si può utilizzare uno dei personaggi di tracciato di R ...

Questo non può essere un modo molto 'ggplot' di fare questo, però, ma la pagina man non leggere "Si può usare come ci si utilizza la funzione 'plot'.". : -)

alt text

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top