Traquer les anomalies dans les données est ardu, mais JFreeChart peut au moins rendre le résultat plus facile à visualiser. Quelques heuristiques à tester :
-
Pour vérifier que les doublons présumés dans votre liste tabulaire sont bien des doublons, formatez les horodatages pour inclure des millisecondes, par ex. ajouter un
Sà unSimpleDateFormatouAà unDateTimeFormatter. -
Pour étude, passez temporairement la requête directement à
JDBCXYDataset, et ajoutez unORDER BYclause (non testée) :jds.executeQuery( "SELECT Date_Heure, PV, SV FROM cmd3 " + "WHERE Date_Heure BETWEEN " + "2020-06-25 00:00:00 AND 2020-06-26 00:00:00 " + "ORDER BY Date_Heure"); -
Activer les info-bulles dans votre
ChartFactory, comme vous l'avez fait ici , pour voir les valeurs des données in situ . Cela peut suggérer des conditions supplémentaires pour votreWHEREclause, par ex.PV BETWEEN 5.1 AND 5.9. -
Utilisez le
JFreeChartinteractif contrôles de panoramique/zoom, discutés ici examiner les données; ajouter des boutons appropriés, affichés ici , si cela permet à vos collègues de voir plus facilement vos résultats. -
De par leur conception,
JDBCXYDatasetexécute une requête définie par uneString. Si votre conception doit afficher les données d'une requête définie par unPreparedStatement, vous pouvez utiliser le implémentation comme guide.public class PreparedDataset extends AbstractXYDataset implements XYDataset, TableXYDataset, RangeInfo { private final PreparedStatement ps; public PreparedDataset(PreparedStatement ps) { this.ps = ps; } … }