2011-12-09 17 views
6

¿Es posible agregar más de un eje x a un gráfico en R? Y para poner una anotación al lado de cada escala?R: eje x múltiple con anotaciones

Editar> aquí está el resultado de la idea de Nick Sabbe. Para la anotación (un pequeño texto a la izquierda de cada eje), ¿es posible?

enter image description here

Respuesta

10

Usted puede utilizar el argumento de lineaxis() a cabo un eje más alto o más bajo, de esta manera puede hacer múltiples ejes. Con mtext(), puede agregar una etiqueta al costado. Ten en cuenta que la trama en sí es sólo en una escala de lo que necesita para cambiar la escala de los puntos y las etiquetas de la otra escala en consecuencia:

# Plot and first axis: 
plot(1:10,1:10,bty="n",col="red",pch=16,axes=FALSE,xlab="",ylab="") 
axis(2,0:11,las=1) 
axis(1,0:11,line=1,col="red",col.ticks="red",col.axis="red") 
mtext("Label 1",1,line=1,at=0.2,col="red") 

# Secondary points and axis: 
points(rnorm(10,50,20)/10, rnorm(10,5,2),pch=16, col="blue") 
axis(1,0:11,labels=0:11*10,line=3,col="blue",col.ticks="blue",col.axis="blue") 
mtext("Label 2",1,line=3,at=0.2,col="blue") 

enter image description here

4

Puede utilizar ?axis para eso. El parámetro at está en la escala del eje original de la gráfica, y puede pasar labels para mostrar otros valores.

Sin embargo, usted tiene que escalar las etiquetas de axess.

Un ejemplo muy sencillo/tonta:

plot(1:10,1:10) 
axis(side=4, at=c(3,7), labels=c(30,70)) 

Por último, tenga en cuenta que la mayoría de la gente considera la adición de varios ejes a una forma mala trama ...

Cuestiones relacionadas