Steuern Sie die Größe der Punkte in einem R -Streuplot?
-
24-09-2019 - |
Frage
In r, die plot()
Funktion nimmt a pch
Argument, das das Erscheinungsbild der Punkte in der Handlung steuert. Ich mache Streudiagramme mit Zehntausenden von Punkten und bevorzuge einen kleinen, aber nicht zu kleinen Punkt. Grundsätzlich finde ich pch='.'
zu klein sein, aber pch=19
zu fett sein. Gibt es etwas in der Mitte oder eine Möglichkeit, die Punkte irgendwie zu skalieren?
Lösung
Versuchen Sie das cex
Streit:
?par
cex
Ein numerischer Wert, der die Menge angibt, mit der Text und Symbole im Vergleich zur Standardeinstellung vergrößert werden sollten. Beachten Sie, dass einige Grafikfunktionen wie Plot.default ein Argument dieses Namens haben, das diesen grafischen Parameter multipliziert, und einige Funktionen wie Punkte akzeptieren einen recycelten Wertevektor. Andere Verwendungszwecke dauern nur den ersten Wert, wenn ein Vektor mit einer Länge von mehr als einer geliefert wird.
Andere Tipps
PCH = 20 Gibt eine Symbolgröße zurück zwischen "." und 19.
Es ist ein gefüllt Symbol (was wahrscheinlich das ist, was Sie wollen).
Abgesehen davon ermöglicht auch das Basisgrafiksystem in R einem Benutzer eine feinkörnige Kontrolle über die Symbolgröße, Farbe und Form. Z.B,
dfx = data.frame(ev1=1:10, ev2=sample(10:99, 10), ev3=10:1)
with(dfx, symbols(x=ev1, y=ev2, circles=ev3, inches=1/3,
ann=F, bg="steelblue2", fg=NULL))
Wie RCS angegeben, cex
Erledigt den Job im Basisgrafikpaket. Ich denke, dass Sie nicht bereit sind, Ihre Grafik zu tun ggplot2
Aber wenn Sie dies tun, gibt es eine size
Ästhetisches Attribut, das Sie leicht steuern können (ggplot2
hat benutzerfreundliche Funktionsargumente: anstatt zu tippen cex
(Charaktererweiterung), in ggplot2
Sie können EG eingeben size = 2
Und Sie werden 2mm Punkt erhalten).
Hier ist das Beispiel:
### base graphics ###
plot(mpg ~ hp, data = mtcars, pch = 16, cex = .9)
### ggplot2 ###
# with qplot()
qplot(mpg, hp, data = mtcars, size = I(2))
# or with ggplot() + geom_point()
ggplot(mtcars, aes(mpg, hp), size = 2) + geom_point()
# or another solution:
ggplot(mtcars, aes(mpg, hp)) + geom_point(size = 2)