Necesito ayuda en R Visual

Un usuario Pregunto ✅

prateekraina

Hola a todos,

Estoy en proceso de crear un R Visual en el que necesito cambiar el color de la línea por encima del umbral.
Hasta ahora, he escrito el siguiente script para generar la imagen cargada a continuación. ¿Puede alguien ayudarme a obtener el resultado deseado, es decir, si mi umbral se supera/supera, el color de la línea debería cambiar?

Si esto se puede lograr utilizando imágenes tradicionales de Power BI, entonces esa sugerencia también es bienvenida.
Aquí está mi código y visual creado hasta ahora.

plot(dataset$Temperature,type="l",lwd=2,
xaxt="n",col="blue",
xlab="Date",ylab="Temperature",
main="Demo Chart")
axis(1,at=1:length(dataset$Date),labels=dataset$Date)
abline(h=dataset$TargetTemperature,col="red")

Solución1.PNGSolución2.PNG

Edición 1: Lo siento por etiquetarlos a ustedes. Amablemente ayuda si alguien sabe.

@Greg_Deckler

@MarcelBeug

@Vvelarde

@Phil_Seamark

@mfelix

@v-haibl-msft
@v-huizhn-msft
@Seth_C_Bauer

lalthan

En respuesta a prateekraina

Pruebe debajo del código R. Los colores múltiples funcionan para puntos, es decir, col = ifelse (temperatura> 15, «azul», «rojo»), etc., pero no funcionan para gráficos de líneas en el gráfico base R.

plot(conjunto de datos$Temperatura,tipo = «l»,col = «azul»)
abline(h=10,col = «rojo»)
clip(0,100,0,10)
líneas(conjunto de datos$Temperatura, col=»verde», tipo=»l»)

mfelix

Hola @prateekraina,

Estaba mirando sus datos y creo que esto es posible haciendo medidas y agregando las imágenes en un gráfico de líneas en un orden específico.

Above = SWITCH(TRUE(),MAX(Temperatures[Temperature])>10,MAX(Temperatures[Temperature]),"")

Below = SWITCH(TRUE(),MAX(Temperatures[Temperature])<=10,MAX(Temperatures[Temperature]),"")

supuse que el el umbral era 10, pero puede convertirlo en un valor específico como lo hice yo o en una variable según una segmentación.

Luego seleccione el gráfico de líneas y agregue Temperatura, Abajo, Arriba, hacer en este orden hará que las líneas se superpongan y cuando tenga cambios en la temperatura que superen el umbral, tendrá una línea, también tenga en cuenta necesita tener el eje X en categórico para que los valores nulos desaparezcan de sus líneas grises.

Perdón por referirme a esto nuevamente, pero tenga en cuenta la forma en que agrega las medidas en su gráfico, ya que si tuviera la temperatura al final, estaría sobre las otras dos líneas y solo verá esa línea, esta línea es solo para unir los puntos fueron las transferencias gráficas del umbral inferior al umbral superior y viceversa.

Línea_Colores.png

Saludos,

mfelix

prateekraina

En respuesta a mfelix

Hola @MFélix,

Entendí. Su conjunto de datos será un poco diferente, por lo que solo hay una diferencia.
Pero mi problema es que estas líneas grises que conectan el rojo con el verde y viceversa, ¿podemos mantenerlas del mismo color hasta que alcancen la línea del umbral y luego cambien?

Sé que no es posible en Power BI, pero sigo arriesgándome al preguntar.

lalthan

En respuesta a prateekraina

Pruebe debajo del código R. Los colores múltiples funcionan para puntos, es decir, col = ifelse (temperatura> 15, «azul», «rojo»), etc., pero no funcionan para gráficos de líneas en el gráfico base R.

plot(conjunto de datos$Temperatura,tipo = «l»,col = «azul»)
abline(h=10,col = «rojo»)
clip(0,100,0,10)
líneas(conjunto de datos$Temperatura, col=»verde», tipo=»l»)

prateekraina

En respuesta a lalthan

Hola @lalthan,

Gracias por el fragmento.

Ya casi llego, solo una pregunta. ¿Puede decirme cómo lo trazo contra la fecha como se muestra en la instantánea de mi conjunto de problemas?
Actualmente, la temperatura se está trazando contra el Índice (1 – 10). Consulte la siguiente captura de pantalla:
Solución.PNG

Saludos,

Prateek Raina

lalthan

En respuesta a prateekraina

El eje X ya estaba definido en la última parte de su código R. Sin embargo, prueba esto

plot(x = conjunto de datos$Fecha, y = conjunto de datos$Temperatura,tipo = «l»,col = «azul»)
abline(h=10,col = «rojo»)
clip(0,100,0,10)
líneas(conjunto de datos$Temperatura, col=»verde», tipo=»l»)

prateekraina

En respuesta a lalthan

Hola @lalthan,

Intenté este pero estoy obteniendo resultados extraños. Consulte la siguiente captura de pantalla:
Solución1.PNG

Después de agregar la siguiente línea, sucede

plot(x = dataset$Date, y = dataset$Temperature,type = "l",col = "blue")

¿Alguna solución?

prateekraina

En respuesta a prateekraina

Lo tengo funcionando usando la siguiente línea:

axis(1,at=1:length(dataset$Date),labels=dataset$Date)

Muchas gracias @lalthan y @MFelix. Aprecia tu tiempo.

Saludos,

Prateek Raina

prateekraina

En respuesta a mfelix

Hola @MFélix,

Gracias por su rápida respuesta.
Seguí los pasos que mencionas. Agradezco su enfoque, pero no obtengo el mismo resultado que se muestra en su captura de pantalla.
¿Puedes compartir tu pbix donde lo intentaste?

Gracias !!!

mfelix

En respuesta a prateekraina

Hola @prateekraina,

En adjuntar archivo PBIX.

https://we.tl/pA0xSOQf4i

Saludos,

mfelix

prateekraina

En respuesta a mfelix

Hola @MFélix,

Muchas gracias por tu esfuerzo.

Saludos,

Prateek Raina

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *