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
S
thành mộtSimpleDateFormat
hoặcA
thành mộtDateTimeFormatter
. -
Để nghiên cứu, hãy tạm thời chuyển truy vấn trực tiếp đến
JDBCXYDataset
và thêmORDER BY
mệ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
ChartFactory
củ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 choWHERE
của bạn mệnh đề, ví dụ:PV GIỮA 5.1 VÀ 5.9
. -
Sử dụng
JFreeChart
tươ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ế,
JDBCXYDataset
thự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; } … }