我想创建一个包含三(3)个系列的组合图表:2个条形图和1个折线图,右边的第二个y轴用于折线图。
不幸的是,当我试图建立这种特殊类型的图表时,我的代码会抛出一个错误。如果我创建一个包含3个相同系列的图表,或者包含1个条形图和1个折线图的图表,则代码可以正常工作。
有什么线索吗?
我的图表代码如下:
Chart chart5 = new Chart();
dt = GetChartData();
string[] labels_Series = new string[dt.Rows.Count];
double[] Series1 = new double[dt.Rows.Count];
double[] Series2 = new double[dt.Rows.Count];
double[] Series3 = new double[dt.Rows.Count];
for (int i = 0; i < dt.Rows.Count; i++)
{
labels_Series[i] = dt.Rows[i][0].ToString();
Series1[i] = Convert.ToDouble(dt.Rows[i][1]);
Series2[i] = Convert.ToDouble(dt.Rows[i][2]);
Series3[i] = Convert.ToDouble(dt.Rows[i][3]);
}
Series chart5series1 = chart5.SeriesCollection.AddSeries();
chart5series1.ChartType = ChartType.Column2D;
chart5series1.Add(Series1);
chart5series1.FillFormat.Color = Color.DarkBlue;
Series chart5series2 = chart5.SeriesCollection.AddSeries();
chart5series2.ChartType = ChartType.Column2D;
chart5series2.Add(Series2);
chart5series2.FillFormat.Color = Color.LightBlue;
Series chart5series3 = chart5.SeriesCollection.AddSeries();
chart5series3.ChartType = ChartType.Line;
chart5series3.Add(Series3);
chart5series3.LineFormat.Color = Color.DarkGray;
chart5.XAxis.MajorTickMark = TickMarkType.Outside;
chart5.YAxis.MajorTickMark = TickMarkType.Outside;
chart5.YAxis.HasMajorGridlines = false;
chart5.ZAxis.MajorTickMark = TickMarkType.Outside;
chart5.ZAxis.HasMajorGridlines = false;
chart5.Legend.Docking = DockingType.Bottom;
chart5.DataLabel.Type = DataLabelType.Value;
chart5.DataLabel.Position = DataLabelPosition.InsideEnd;
ChartFrame chartFrame5 = new ChartFrame();
chartFrame5.Location = new XPoint(505, 300);
chartFrame5.Size = new XSize(450, 250);
chartFrame5.Add(chart5);
chartFrame5.Draw(graph);