Controlla la dimensione dei punti in un diagramma a dispersione R?
-
24-09-2019 - |
Domanda
In r, il plot()
la funzione prende un pch
Argomento che controlla l'aspetto dei punti nella trama. Sto realizzando grafici a dispersione con decine di migliaia di punti e preferisco un punto piccolo, ma non troppo piccolo. Fondamentalmente, trovo pch='.'
essere troppo piccolo, ma pch=19
essere troppo grasso. C'è qualcosa nel mezzo o in qualche modo per ridimensionare i punti in qualche modo?
Soluzione
Prova il cex
discussione:
?par
cex
Un valore numerico che fornisce l'importo in base al quale tracciare testo e simboli deve essere ingrandito rispetto al valore predefinito. Si noti che alcune funzioni grafiche come Plot.Default hanno un argomento di questo nome che moltiplica questo parametro grafico e alcune funzioni come i punti accettano un vettore di valori che vengono riciclati. Altri usi richiederanno solo il primo valore se viene fornito un vettore di lunghezza maggiore di uno.
Altri suggerimenti
pch = 20 Restituisce un simbolo di dimensioni fra "." e 19.
È un riempito simbolo (che è probabilmente quello che vuoi).
A parte questo, anche il sistema grafico di base in R consente a un controllo a grana fine dell'utente sulla dimensione, colore e forma del simbolo. Per esempio,
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))
Come RCS ha dichiarato, cex
Farà il lavoro nel pacchetto grafico di base. Credo che non sei disposto a fare il tuo grafico ggplot2
Ma se lo fai, c'è un size
attributo estetico, che puoi facilmente controllare (ggplot2
ha argomenti di funzione intuitivo: invece di digitare cex
(espansione del personaggio), in ggplot2
Puoi digitare EG size = 2
E otterrai un punto di 2 mm).
Ecco l'esempio:
### 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)