我是mschart新手,面臨一些問題。我從數據庫中讀取記錄並將它們繪製在圖表上。問題是:C#mschart系列對齊
當我將最大記錄值設置爲最大y軸值時,圖表只會被繪製。如果我嘗試設置y軸的最大值,例如最大值+50,我的圖表就會錯誤地繪製它。這裏是我的代碼:
double y = 0; foreach (Record record in records) { if (y < record.HighValue) y = record.HighValue; } chart.ChartAreas["draw"].AxisY2.Minimum = 0; chart.ChartAreas["draw"].AxisY2.Maximum = y; chart.ChartAreas["draw"].AxisY2.Interval = y/10; Series s = new Series(); s.Name = seriesName; s.IsXValueIndexed = true; s.XValueType = ChartValueType.Date; s.ChartType = SeriesChartType.Candlestick; s.Color = Color.Black; s["OpenCloseStyle"] = "Triangle"; s["ShowOpenClose"] = "Both"; s["PointWidth"] = "1.0"; s["PriceUpColor"] = "Black"; chart.Series.Add(s); for (int i = 0; i < records.Count; i++) { s.Points.AddXY(records[i].CurrentDate, records[i].HighValue); s.Points[i].YValues[1] = records[i].LowValue; s.Points[i].YValues[2] = records[i].OpenValue; s.Points[i].YValues[3] = records[i].CloseValue; }
圖表將顯示如下:
http://i57.tinypic.com/11ukyyt.png
現在,如果我試圖改變像Y軸最大值:
chart.ChartAreas["draw"].AxisY2.Maximum = y*2;
情節是這樣的:
http://i60.tinypic.com/11kzkba.png
現在,這是錯誤的,因爲你可以看到該系列是在錯誤的y軸位置
- 我面臨的第二個問題是,當我放大圖表中,x軸正在變焦,但我無法放大Y軸。我想這線程,但無法得到的是「放大-x值」
通過縮放我的意思是y軸將只包含涵蓋當前圖表範圍的最小值和最大值。例如,整個圖表最小= 100,最大= 500。現在,當我縮放到特定部分時,讓我們假設該部分的min = 350,max = 450,那麼這些值應該是圖表的最小值和最大值。 – Ashutosh 2014-12-09 10:58:50
如上所述,將系列與正確軸關聯後,MSChart縮放應該正常運行。如果您正確設置了軸類型,並且它仍然存在縮放問題,請告訴我,如果時間允許,我將製作一個模型以進一步調查。 如果您正在設置最小值和最大值,請確保您正在分配AxisY2.Minimum和AxisY2.Maximum。 ('2'表示您使用的是頂部的軸而不是底部的X,或者圖表的右側的軸與圖表左側的軸相對應,用於Y) – JHubbard80 2014-12-10 18:39:06