Ändern von Formen, die für scale_shape () in ggPlot2 verwendet werden
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
?
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))
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))
> 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.". :-)