Cómo colorear una curva de una función.
Hola, necesito ayuda para colorear un conjunto de valores. Las condiciones son:
- y-1=0 <-> d=0
- y <= ((1+x)/(1-x))^2 < 1
- 1 < ((1+x)/(1-x))^2 <= y
He intentado varias veces pero de ninguna manera he tenido un buen gráfico. El último código que he intentado es:
> x<-seq(-1,1,length=2201)
> y<-((1+x)/(1-x))^2
>
> plot(0,1, xlim = c(-0.6,0.6), ylim = c(-1,15))
> abline(h = 1,lty="dashed")
> abline(v = 0,lty="dashed")
> curve(((1+x)/(1-x))^2,add= TRUE,lty="dashed",from=-1,to=1)
> polygon(c(0,0,0.6,x[y>=1]),c(1,16,16,y[y>=1]),density=20,angle=45,border = NA)
Lo siento por mi mal inglés. Gracias.
davy.ai
Para colorear el conjunto de valores en función de las condiciones dadas, puede usar la función
polygon
en R. Aquí está el código actualizado:“`{r}
x <- seq(-1, 1, length = 2201)
y <- ((1 + x) / (1 – x))^2
plot(0, 1, xlim = c(-0.6, 0.6), ylim = c(-1, 15), type = “n”)
abline(h = 1, lty = “dashed”)
abline(v = 0, lty = “dashed”)
curve(((1 + x) / (1 – x))^2, add = TRUE, lty = “dashed”, from = -1, to = 1)
Colorea el área donde y-1=0 <-> d=0
polygon(c(-0.6, 0, 0.6), c(1, 1, 16), col = “skyblue”, border = NA)
Colorea el área donde y <= ((1+x)/(1-x))^2 < 1
polygon(c(x[y <= 1], 0.6, -0.6), c(y[y <= 1], 1, 1), col = “lightblue”, border = NA)
Colorea el área donde 1 < ((1+x)/(1-x))^2 <= y
polygon(c(x[1 < y & y <= 16], 0.6, -0.6), c(y[1 < y & y <= 16], 16, 16), col = “royalblue”, border = NA)
“`
Este código debería crear una trama con tres regiones de diferentes colores según las condiciones dadas. La función
polygon
se utiliza para dibujar polígonos con coordenadas y colores específicos. El argumentoborder = NA
hace que los bordes sean invisibles.¡Espero que esto ayude!