Biểu đồ winform C# – giảm điểm dữ liệu

lập trình


Tôi đang vẽ đồ thị bằng PictureBox. Để vừa với tất cả các điểm trong chiều rộng điều khiển, tôi đang sử dụng kỹ thuật lấy trung bình thông thường. Tôi muốn hiểu đây là cách duy nhất để làm như vậy hay có bất kỳ công thức nào khác.

Tôi cảm thấy như mất đi xu hướng dữ liệu (tôi có thể hình dung điều đó khi tôi có số lượng lớn các điểm được vẽ trong một khu vực nhỏ) bằng kỹ thuật này.

Bất kỳ ai cũng có thể chia sẻ cho tôi các gợi ý để nghiên cứu thêm, chẳng hạn như kỹ thuật tính toán/nén/giảm dữ liệu nào tôi có thể sử dụng để tôi có thể điều chỉnh 50K điểm dữ liệu trong điều khiển 100 pixel mà không làm mất xu hướng dữ liệu.

Những gì tôi đã thử:

Phương pháp tính trung bình thông thường.

Để giải thích rõ hơn, giả sử tôi vẽ 1000 giá trị trên PictureBox có chiều rộng 100 Pixels. Tôi tính tỷ lệ số lượng giá trị được vẽ trên chiều rộng của PictureBox, tức là 1000/100 = 10. Điều đó có nghĩa là mỗi pixel trên biểu đồ sẽ biểu thị giá trị trung bình của 10. Với điều này, tôi vẽ biểu đồ trung bình của mỗi 10 giá trị để hiển thị trung bình 1000 giá trị trên PictureBox. Điều này hoạt động tốt với tập hợp các điểm dữ liệu nhỏ.

Giải pháp 1

Hãy xem xét thuật toán này Triển khai thuật toán lấy mẫu xuống trong tiện ích mở rộng MSChart[^] để vẽ kích thước dữ liệu lớn mà không làm mất chi tiết về xu hướng và tác động hiệu suất.

コメント

タイトルとURLをコピーしました