我在C#中使用MSChart。我获得了三种不同产品的制造时间的模拟数据。我需要创建一个图形,看起来像一个包含三个点的误差条形图,但每个点真正包含的是平均时间值,每个点的误差条的上限和下限是最大和最小时间值模拟。我发现的问题是,对于MSChart,误差范围是静态的;对于图表上的每个点,它都是相同的。我需要一个错误条形图,每个点都有不同的最小值和最大值。我有一个图形应该是什么样子的图像,但当然,我不允许发布图像。
我认为通过在图中创建6个系列,每个点2个系列,然后将最大值添加到另一个,最小值添加到另一个,并隐藏相应的下限和上限,我可以创建一个解决方法,但不方便。但是,尝试这一点会使图形成为一个大的红色X.我想知道.Net MSChart是否无法实现此功能。我是否必须为此考虑第三方图书馆?
答案 0 :(得分: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);