Pregunta

En r, el plot() la función toma un pch argumento que controla la apariencia de los puntos en la trama. Estoy haciendo diagramas de dispersión con decenas de miles de puntos y prefiero un punto pequeño, pero no demasiado pequeño. Básicamente, encuentro pch='.' ser demasiado pequeño, pero pch=19 estar demasiado gordo. ¿Hay algo en el medio o alguna forma de escalar los puntos de alguna manera?

¿Fue útil?

Solución

Prueba el cex argumento:

?par

  • cex
    Un valor numérico que proporciona la cantidad por la cual trazar texto y símbolos debe ampliarse en relación con el valor predeterminado. Tenga en cuenta que algunas funciones gráficas como Plot.default tienen un argumento de este nombre que multiplica este parámetro gráfico, y algunas funciones como los puntos aceptan un vector de valores que se recicla. Otros usos tomarán solo el primer valor si se suministra un vector de longitud mayor que uno.

Otros consejos

PCH = 20 Devuelve un símbolo del tamaño Entre "." y 19.

Es un lleno símbolo (que es probablemente lo que quieres).

Aparte de eso, incluso el sistema de gráficos base en R permite un control de grano fino del usuario sobre el tamaño, el color y la forma del símbolo. P.ej,

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

Graph example

Como RCS fijado, cex Hará el trabajo en el paquete de gráficos base. Creo que no estás dispuesto a hacer tu gráfico en ggplot2 Pero si lo haces, hay un size atributo estético, que puedes controlar fácilmente (ggplot2 tiene argumentos de funciones fáciles de usar: en lugar de escribir cex (expansión del personaje), en ggplot2 puedes escribir eg size = 2 y obtendrás un punto de 2 mm).

Aquí está el ejemplo:

### 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)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top