Esta questão tem como objetivo exibir a variação de temperatura ao longo dos dias de um mês usando um JFreechart TimeSeriesCollection. No entanto, a implementação original enfrentou desafios com a leitura precisa de dados do banco de dados.
Para resolver o problema de leitura de dados, é importante considerar a precisão na conversão entre String e data. No exemplo fornecido, as strings são convertidas diretamente em Hora.
Para lidar com dados de série temporal de forma eficiente, o JDBCXYDataset deve ser utilizado. Este conjunto de dados foi projetado especificamente para consultar e exibir dados de série temporal. A implementação de JDBCXYDataset garante que:
Considere o seguinte snippet de código que utiliza JDBCXYDataset para resolver o problema:
Connection conn = DriverManager.getConnection(...);
JDBCXYDataset jds = new JDBCXYDataset(conn);
jds.executeQuery("SELECT `data_registo`, `hora_registo`, `temperatura` FROM `registos` WHERE `idSensor` = 'BrgTH001'");
Esta consulta recupera dados da tabela de registros, onde data_registro e hora_registro são concatenados para formar o timestamp e temperatura é o valor. O objeto jds pode então ser usado para criar um gráfico de série temporal usando o método createTimeSeriesChart do JFreechart.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3