Frage

Angenommen, ich habe die folgenden

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

Wie ändere ich die verwendeten Formen, die verwendet werden? ggplot2?

War es hilfreich?

Lösung

Der GGPlot -Weg, um es zu tun, wäre zu verwenden scale_shape_manual und liefern die gewünschten Formen in der values Streit:

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

result of above

Die Formen entsprechen den üblichen 0-25-Indizes: http://yusung.blogspot.com/2008/11/plot-mbols-in-r.html

Andere Tipps

Um die Antwort von Harlan zu ergänzen, finden Sie hier eine Referenz für die verfügbaren Formen - Beginnen Sie von 0 unten links und lesen Sie direkt nach oben (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))

Shapes available 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)

Ist es das was du meinst? Ich stelle mir vor, Sie können eines der plantenden Charaktere von R verwenden ...

Dies ist jedoch keine sehr "GGPlot" -Styp, dies zu tun, aber die Mannseite lautet: "Sie können sie verwenden, wie Sie die Funktion" Plot "verwenden würden.". :-)

alt text

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top