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
à unSimpleDateFormat
ouA
à unDateTimeFormatter
. -
Pour étude, passez temporairement la requête directement à
JDBCXYDataset
, et ajoutez unORDER BY
clause (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 votreWHERE
clause, par ex.PV BETWEEN 5.1 AND 5.9
. -
Utilisez le
JFreeChart
interactif 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,
JDBCXYDataset
exé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; } … }