Angenommen, ich habe folgendeÄndern Formen für scale_shape verwendet() in ggplot2
y <- rnorm(10)
b <- as.factor(sample(1:4,10,replace=T))
qplot(1:10, y, shape=b)
Wie kann ich die Formen ändern, die ggplot2
verwendet verwenden?
Angenommen, ich habe folgendeÄndern Formen für scale_shape verwendet() in ggplot2
y <- rnorm(10)
b <- as.factor(sample(1:4,10,replace=T))
qplot(1:10, y, shape=b)
Wie kann ich die Formen ändern, die ggplot2
verwendet verwenden?
Die ggplot Art und Weise wäre es scale_shape_manual
zu verwenden und die gewünschten Formen in der values
Argument zu tun:
qplot(1:10, y, shape=b) + scale_shape_manual(values = c(0, 5, 6, 15))
Die Formen sind die gleichen wie die üblichen 0-25 Indizes: http://yusung.blogspot.com/2008/11/plot-symbols-in-r.html
> 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 das was du meinst? Ich kann mir vorstellen, dass man beliebige Zeichen von R benutzen kann ...
Das mag zwar nicht sehr "ggplot" sein, aber auf der man-Seite steht: "Du kannst es benutzen, als würdest du das benutzen" Plot 'Funktion. ". :-)
'Fehler: scale_shape_discrete mit maximal umgehen kann von 6 diskreten Werten, aber Sie haben 10. Sehen Sie skala_manual für eine mögliche Alternative – isomorphismes
Zu ergänzen t Harlans Antwort, hier ist eine Referenz für die zur Verfügung stehenden Formen - von 0 unten links beginnen und lesen Sie rechts und dann nach oben (10j + 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))
Dies ist eine viel bessere Art, es zu tun, wie es die Legende behält und mit ggplot, nicht Basisgrafiken arbeitet. Ich lerne hier jeden Tag mehr über ggplot, danke! – Vince
Hallo, wie kann ich die Größe der Symbole ändern, wenn Sie scale_shape_manual() verwenden? Ich habe versucht, geom_point (Größe = 4), aber die Ausgabe war doppelte Symbole (zwei Größen). Jede Hilfe wird geschätzt. – Rafael
Wenn Sie qplot verwenden, muss die 'size = 4' in den' qplot'-Aufruf nicht getrennt aufgeführt werden. Wenn Sie einen zusätzlichen "Geom-Punkt" hinzufügen, erstellen Sie effektiv eine zweite Ebene. (Das ist übrigens der Grund, warum du 'qplot' nicht verwenden solltest - es ist verwirrend.) – Harlan