Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

99
Visualizações
Agregar datos al gráfico correctamente

Hola amigos, tengo una tarea para mostrar los datos del usuario en el gráfico (estoy usando gráficos de diapositivas nativos de reacción ), pero se vuelve un poco complicado. Entonces, lo que estoy tratando de lograr es lo siguiente: estoy haciendo una solicitud y obtengo los siguientes datos del servidor:

 { "trend": [92, 93, 94, 94, 93, 93, 94, 95, 95, 95, 95, 94, 96, 95, 96], "history": [1087, 112, 117, 190, 153, 163, 138, 166, 191, 191, 187, 163, 187, 177, 109, 107, 196, 175, 113, 192, 113, 112, 169, 109, 109, 157, 126, 170, 137, 146, 132, 114], }

Y sé que la trend son datos de los últimos 15 minutos con un intervalo de 1 minuto, y el history son datos de las últimas 8 horas con un intervalo de 15 minutos.

Necesito mapear estos datos y mostrarlos en el gráfico. Estoy tratando de hacer lo siguiente:

 const initialDateTime = dayjs(); const mappedTrend = data.trend.reverse().map((el, i) => ({ x: i === 0 ? initialDateTime.valueOf() : initialDateTime.add(i * 1, 'minutes').valueOf(), y: el, })); const mappedHistory = data.history.reverse().map((el, i) => ({ x: i === 0 ? initialDateTime.valueOf() : initialDateTime.add(i * 15, 'minutes').valueOf(), y: el, }));

en la salida tengo 2 matrices como {x: timestamp, y: value} ;

Luego lo estoy agregando al estado y el gráfico mira estos datos:

 setState({data: [...mappedHistory, ...mapTrend]})

parece que está bien hasta aquí, pero ahora, por ejemplo, necesito cargar más datos, después de, por ejemplo, 5 minutos puedo hacer otra solicitud y obtendré casi los mismos datos pero con números diferentes, y necesito ahora, para prolongar los datos del gráfico con uno nuevo, pero ¿cómo hacerlo? ¿Cómo agregar datos correctamente?

Preparé un refrigerio aquí Los problemas son que el gráfico se ve extraño y cuando llegan nuevos datos también se muestra extraño. Y la cuestión es que, en el gráfico, los datos deben estar dentro del rango de 24 horas, por eso uso xRange en el gráfico. Entonces, ¿alguna idea sobre cómo resolver esto o arreglarlo?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Si solo desea combinar los datos que se mantienen actualmente en su estado, puede distribuir la matriz existente con la matriz entrante;

 updateArray = (mappedHistory, mapTrend) => { const newArray = [...mappedHistory, ...mapTrend]; this.setState({ data: [...this.state.data, ...newArray] }); }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda