Pregunta

Estoy creando una pequeña aplicación que traza datos de precios financieros y dado que los mercados financieros están cerrados los fines de semana, no tengo datos para esos días. Por defecto, el gráfico, que se encuentra en el nuevo Kit de herramientas de WPF, muestra una gran brecha entre el viernes y el lunes siguiente y este comportamiento no es aceptable. Estoy tratando de encontrar una manera de "ocultar" las brechas de fin de semana pero parece que no puede encontrar ninguna buena solución. Hasta ahora, pensé que tendría que sobrecargar la estructura estándar DateTime (¿cómo?) Que podrá reconocer y omitir los fines de semana y días festivos. Estoy buscando sugerencias y / o sugerencias antes de comenzar a bajar esa pendiente resbaladiza.

Algunos detalles más:

Me dan una amplia gama de datos, actualmente precios de cierre diarios en NYSE. Estoy usando el DayTimeAxis para trazar la variable independiente de LineSeries que es de tipo DateTime . Actualmente, simplemente representa todos los precios, un día a la vez, y ahí es donde está el demonio, muestra brechas más amplias debido a la falta de datos para los sábados y domingos y algunos días festivos importantes.

Eventualmente tendré que mostrar un gráfico más detallado (por hora, minuto) una vez que los datos estén disponibles, pero el problema persistirá si el usuario desea ver los datos por hora de algún viernes y el lunes siguiente.

¿Fue útil?

Solución

Después de mucho jugar con varias opciones, terminé usando CategoryAxis en lugar de DateTimeAxis. Trata cada día como una categoría sin inferir la relación entre los días.

Los datos aún pueden conservarse como objetos DateTime para cualquier cálculo necesario y solo tiene que preocuparse por ToString (eso es lo que hace CategoryAxis para etiquetar cada categoría). O simplemente colóquelos todos como cadenas: técnicamente, los cálculos se realizan en los puntos de datos, no en la matriz de fechas, por lo que no hay mucha pérdida aquí ...

Otros consejos

Si va a trazar una vela o un ohlc, no puede usar el kit de herramientas (puede hacerlo, pero será MUY desagradable) si está abierto a usar componentes, use los visifire a los que puede ir. si no puede resolverlo, envíe un código de muestra, por favor.

Completamente fuera de mi cabeza, así que no estoy seguro de qué tan factible sería esto, pero ¿podría configurar un convertidor de valor en la propiedad Ancho del punto de datos que devolvería " Auto " en un día laborable y 0 durante un fin de semana?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top