1. 程式人生 > >ZedGraph中的自定義X刻度

ZedGraph中的自定義X刻度

背景:繪製K線圖時,需要考慮休市時的情況:

描述:我國股票市場的交易時間從9:30~11:30, 1:00~3:00。而在繪圖時,卻需要把中間沒有資料的部分隱藏掉,使得K線圖是連續的。

分析:開發環境使用C#,繪圖用開源工具ZedGraph,其Wiki中指出,可以自定義X軸的顯示格式。因此可以使用這樣的方法--將下午的資料全部左移,然後將下午時對應的X軸時間自定義,使得圖形上連續且X軸數值上能正確反應。

參考:http://zedgraph.org/wiki/index.php?title=Main_Page

未解決:1. 這一方法的副作用是,資料左移後其X value發生了改變,當顯示節點數值時該變數是偏移的。或許應該接管顯示節點數值的handler並作相應處理。

2. 儘管在當天內資料是連續的,但在多日間仍然是斷開的。可以使用類似的方法處理。

-----

0312.2010更新:

1. ZedGraph的PointPairList的Add方法過載了下面的原型: Add(double x, double y, string label)。其中Label是在該點彈出的座標提示。因此較好的方法可以是隱藏X軸座標值,而將數值顯示在游標所在曲線的彈出視窗中。

2. 如果是從頭生成曲線,可以直接計算offset使其連續;如果是亂序生成則較困難,建議按日期排序後繪製。