Việc theo đuổi các điểm bất thường trong dữ liệu là rất khó, nhưng JFreeChart ít nhất có thể làm cho kết quả dễ hình dung hơn. Một số heuristics để thử nghiệm:
-
Để xác minh rằng các bản sao giả định trong danh sách dạng bảng của bạn thực sự là bản sao, hãy định dạng dấu thời gian để bao gồm mili giây, ví dụ:thêm một
Sthành mộtSimpleDateFormathoặcAthành mộtDateTimeFormatter. -
Để nghiên cứu, hãy tạm thời chuyển truy vấn trực tiếp đến
JDBCXYDatasetvà thêmORDER BYmệnh đề (chưa được kiểm tra):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"); -
Bật chú giải công cụ trong
ChartFactorycủa bạn , như bạn đã làm tại đây , để xem các giá trị dữ liệu tại chỗ . Điều này có thể đề xuất các điều kiện bổ sung choWHEREcủa bạn mệnh đề, ví dụ:PV GIỮA 5.1 VÀ 5.9. -
Sử dụng
JFreeCharttương tác điều khiển xoay / thu phóng, đã thảo luận tại đây để kiểm tra dữ liệu; thêm các nút phù hợp, hiển thị tại đây , nếu điều đó sẽ giúp đồng nghiệp dễ dàng xem phát hiện của bạn hơn. -
Theo thiết kế,
JDBCXYDatasetthực thi một truy vấn được xác định bởi mộtString. Nếu thiết kế của bạn cần hiển thị dữ liệu từ một truy vấn được xác định bởiPreparedStatement, bạn có thể sử dụng triển khai như một hướng dẫn.public class PreparedDataset extends AbstractXYDataset implements XYDataset, TableXYDataset, RangeInfo { private final PreparedStatement ps; public PreparedDataset(PreparedStatement ps) { this.ps = ps; } … }