2012-06-04 115 views
2

我正在C#中使用MSChart。我給出了三種不同產品製造時間的仿真數據。我需要創建一個圖表,其中包含三個點的錯誤條形圖,但每個點真正包含的是平均時間值,並且每個點處誤差條的上下限都是最大和最小時間值的模擬。我發現的問題是,對於MSChart,錯誤範圍是靜態的;圖表上的每個點都是一樣的。我需要一個錯誤條形圖,每個點有不同的最小值和最大值。我有一張圖表應該是什麼樣的圖像,但當然,我不允許發佈圖像。MSChart具有動態上下限的C#錯誤條形圖

我想我可以通過在圖中創建6個系列,每個點2個,然後將最大值添加到一個,將最小值添加到另一個,然後隱藏相應的下限和上限來創建解決方法,但不方便。然而,嘗試這一點,使圖形變成了一個大紅色的X.我想知道這個功能對於.Net MSChart來說是不可能的。我需要爲此查看第三方庫嗎?

回答

1

以下使用System.Windows.Forms.DataVisualization.Charting庫,我認爲它自4.0以來一直是.Net的一部分。

Chart aChart = new Chart(); 
ChartArea aChartArea = new ChartArea(); 
aChart.ChartAreas.Add(aChartArea); 
aChart.Size = new System.Drawing.Size(100,100); 

Series aSeries = mChart.Series.Add("SomeSeriesName"); 
aSeries.ChartType = SeriesChartType.ErrorBar; 
aSeries.Points.AddXY(firstXPoint, firstMiddleYPoint, firstLowerYBound, firstUpperYBound); 
aSeries.Points.AddXT(secondXPoint, secondMiddleYPoint, secondLowerYBound, secondUpperYBound); 
aChart.SaveImage("outputPath/outputName.jpg", ChartImageFormat.Jpeg); 
+0

這對我有效,謝謝!請注意,不要使用此方法設置'ErrorBarSeries'或'ErrorBarType',否則它將無法工作。請參閱http://stackoverflow.com/questions/20434344/error-bar-change-upper-lower-and-center-errors-independently-of-each-other/20436321#20436321 – The1nk