我正在制作一个小型应用程序,用于绘制金融价格数据,而且由于金融市场在周末关闭,我没有那些日子的数据。默认情况下,在新的WPF工具包中找到的图表显示星期五和星期一之间存在很大差距,这种行为是不可接受的。我试图想出一种“隐藏”的方法。周末的差距,但似乎无法找到任何好的解决方案。到目前为止,我认为我必须重载标准的 DateTime 结构(如何?),它将能够识别并跳过周末和假日。在我开始滑坡之前,我正在寻找建议和/或指示。

更多细节:

我获得了大量数据 - 目前纽约证券交易所的每日收盘价。我使用 DayTimeAxis 绘制 LineSeries 的自变量,其类型为 DateTime 。它目前只是简单地绘制所有价格,一次一天 - 这就是魔鬼所在的地方,由于周六和周日以及一些重大节日缺乏数据,它显示出更大的差距。

一旦数据可用,我最终必须显示更详细的(每小时,分钟)图表,但如果用户想要查看某个星期五和下周一的每小时数据,问题仍将存在。

有帮助吗?

解决方案

经过多次选择后,我最终使用了CategoryAxis而不是DateTimeAxis。它将每一天视为一个类别,而不会推断出这些日子之间的关系。

对于任何必要的计算,数据仍然可以作为DateTime对象保存,您只需要担心ToString(这是CategoryAxis标记每个类别的内容)。或者只是将它们全部放入字符串中 - 技术上计算是在数据点上完成的,而不是日期数组,所以这里没有太大的损失......

其他提示

如果您将绘制烛台或ohlc,您不能使用工具包(您可以,但它会非常不愉快)如果您打开使用组件使用visifire是您可能去的那个。如果您无法弄明白,请发送示例代码。

完全脱离我的头脑,所以我不确定这是多么可行,但你是否可以在数据点的Width属性上设置一个值转换器,它将返回“Auto”。在工作日和0周末?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top