Hola,

Los intervalos claro que están equiespaciados. En "d[i]" indicas el valor
del salto de cada marca.
Lo que entiendo de lo que comentas es que en los gráficos inferiores, el
espacio entre la la esquina inferior del eje y la primera marca, o la
esquina superior y la última marca no es la misma.

La corrección que se me ocurre, para el tercer gráfico es justamente en el
espaciado "d[i]" que has utilizado.
Si para los dos últimos gráficos utilizas un espaciado diferente, por
ejemplo d[3]<-2 en vez del valor 5 que has utilizado la "impresión" esa
diferencia no existe o es mínima.

Y para el último gráfico, la forma que he visto de centrarlo más es
eligiendo un punto de arranque para el emplazamiento de las etiquetas
diferente al "e[[i]][1]", si utilizas por ejemplo "0.925*e[[i]][1]", queda
bastante centrado.

Otro elemento de mejora que podrías introducir, puestos a esto de la
estética gráfica, es el de colocar las marcas del eje-y de forma
perpendicular "las=2".

Saludos,
Carlos Ortega
www.qualityexcellence.es
www.datanalytics.com/blog

2011/1/23 <guivivi@alumni.uv.es>

> Hola a todos,
>
> Estoy tratando de generar un line plot para las cuatro primeras columnas
> del banco de datos airquality del paquete datasets.
>
> Siempre que genero gráficos, personalizo las etiquetas de los ejes
> mediante la función axis para que me queden equiespaciadas.
>
> En este caso, los gráficos los represento todos en un mismo dispositivo
> mediante un bucle for, en el que en cada iteración dibujo las etiquetas
> con la función axis().
>
> Este es el código que he escrito:
>
> datos <- airquality
> attach(datos)
>
> par(mfrow = c(2,2))
> ylab <- c("Concentracion media de ozono (ppb)", "Radiacion solar
> (Langleys)", "Velocidad del viento (mph)", "Temperatura (grados F)")
>
> #Obtengo los extremos de las columnas de cara al etiquetado del eje y:
> e <- list()
> for(i in 1:4){
> e[[i]] <- c(round(min(datos[,i], na.rm=T)), round(max(datos[,i],
>  na.rm=T)))
> e[[i]] <- round(e[[i]] / 5) * 5
> }
>
> #Estos números me sirven para equiespaciar las etiquetas:
> d <- c(34,66,5,10)
>
> #Represento los gráficos:
> for(i in 1:4){
> plot(datos[,i], ylab=ylab[i], yaxt="n", type = "n")
> axis(2, at = seq(e[[i]][1], e[[i]][2],d[i]), labels = seq(e[[i]][1],
> e[[i]][2],d[i]))
> lines(datos[,i], col=i+1)
> }
>
> Adjunto en el pdf los gráficos que genero.
>
> El problema que tengo es que los gráficos de la parte superior sí me
> aparecen las etiquetas del eje y equiespaciadas, pero los de la
> parte inferior no.
>
> ¿Alguien puede darme alguna explicación?.
>
> He leído ?axis, ?par, etcétera, pero no logro averiguar nada.
>
> Sería de mucha ayuda cualquier sugerencia.
>
> Muchas gracias de antemano.
>
> Un saludo,
>
> Guillermo
>
> _______________________________________________
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>

	[[alternative HTML version deleted]]

