studio funcion example color r plot curve axes

funcion - Cómo colocar la intersección de los ejes x e y en(0, 0) y extender los ejes x e y hasta el borde de la gráfica



plot r color (2)

Esta pregunta ya tiene una respuesta aquí:

Supongamos que quiero trazar x^2 . Puedo usar la curve() siguiente manera.

curve(x^2, -5, 5)

Sin embargo, me gustaría que pasaran los ejes (0, 0). Podría hacer algo de la siguiente manera:

curve(x^2, -5, 5, axes=FALSE) axis(1, pos=0) axis(2, pos=0) abline(h=0) abline(v=0)

Y termino obteniendo algo como abajo, que se ve bien. Pero la única queja que tengo es que esta forma de trazar ejes hace que los ejes reales, por ejemplo el segmento entre -4 y 4 del eje x, sean más gruesos que los segmentos del lado derecho y del lado izquierdo. Lo mismo ocurre con el eje y. Me pregunto si hay una mejor manera de trazar los ejes. ¡Gracias!


De forma predeterminada, axis () calcula automáticamente la posición de las marcas de verificación, pero puede definirlas manualmente con el argumento at . Así que una solución podría ser algo como:

curve(x^2, -5, 5, axes=FALSE) axis(1, pos=0, at=-5:5) axis(2, pos=0)

Lo que da :

El problema es que tiene que determinar manualmente la posición de cada marca de verificación. Una solución ligeramente mejor sería calcularlos con la función axTicks (la que se usa de forma predeterminada), pero llamar a este con un argumento axp personalizado que le permite especificar respectivamente el mínimo, el máximo y el número de intervalos para las marcas en el eje:

curve(x^2, -5, 5, axes=FALSE) axis(1, pos=0, at=axTicks(1,axp=c(-10,10,10))) axis(2, pos=0)

Lo que da :


Los argumentos xaxs y xaxs controlan el espaciado alrededor de los gráficos. Establézcalo en "i" para omitir esto:

curve(x^2, -5, 5, yaxs = "i")

Consulte también: https://.com/a/12300673/567015