es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo colorear una curva de una función.

Hola, necesito ayuda para colorear un conjunto de valores. Las condiciones son:

  1. y-1=0 <-> d=0
  2. y <= ((1+x)/(1-x))^2 < 1
  3. 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.

Tags:  , ,

Answer

  1. Avatar for 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 argumento border = NA hace que los bordes sean invisibles.

    ¡Espero que esto ayude!

Comments are closed.