Gráfico winform de C#: reducción de puntos de datos

programación


Estoy trazando un gráfico usando PictureBox. Para ajustar todos los puntos en el ancho del control, estoy usando una técnica de promedio normal. Quiero entender si esta es la única forma de hacerlo o si existe alguna otra fórmula.

Tengo ganas de perder la tendencia de los datos (puedo visualizar eso cuando tengo una gran cantidad de puntos para trazar en un área pequeña) con esta técnica.

¿Alguien puede compartirme sugerencias para futuras investigaciones, como qué técnica de reducción/compresión/cálculo de datos puedo utilizar, de modo que pueda ajustar 50.000 puntos de datos en un control de 100 píxeles sin perder la tendencia de los datos?

Lo que he probado:

Método de promedio normal.

Para explicarlo mejor, digamos que tengo que trazar 1000 valores en el PictureBox de 100 píxeles de ancho. Calculo la relación entre el recuento de valores que se van a trazar y el ancho de PictureBox, es decir, 1000/100 = 10. Eso significa que cada píxel del gráfico representará el promedio de 10 valores. Con esto trazo el gráfico del promedio de cada 10 valores resultante para mostrar el promedio de 1000 valores en el PictureBox. Esto funciona bien con un pequeño conjunto de puntos de datos.

Solución 1

Considere este algoritmo Implementación del algoritmo de reducción de resolución en la extensión MSChart[^] para trazar datos de gran tamaño sin perder detalles de tendencias e impacto en el rendimiento.

コメント

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