我有以下代码可以正常工作:
string[] seriesArray = { "s1", "s2", "s3", "s4", "s5" };
double[] data = { 5, 10, 30, 60, 120 };
for (int i = 0; i < data.Length; i++)
{
Series series = chartTotalTime.Series.Add(seriesArray[i]);
series.Points.Add(data[i]);
chartTotalTime.Series[seriesArray[i]].IsValueShownAsLabel = true;
series.ChartType = SeriesChartType.Column;
}
当我将代码更改为SeriesChartType.Bar
时,它会断开,只显示一个带有红叉的白色框。有人可以告诉我为什么吗?考虑到旋转的图表几乎相同,这似乎很奇怪......我可以找到很少的如何实现这种控制的例子。
编辑添加设计师代码:
//
// chartTotalTime
//
chartArea1.Name = "ChartArea1";
this.chartTotalTime.ChartAreas.Add(chartArea1);
legend1.Name = "Legend1";
this.chartTotalTime.Legends.Add(legend1);
this.chartTotalTime.Location = new System.Drawing.Point(35, 3);
this.chartTotalTime.Name = "chartTotalTime";
series1.ChartArea = "ChartArea1";
series1.Legend = "Legend1";
series1.Name = "Series1";
this.chartTotalTime.Series.Add(series1);
this.chartTotalTime.Size = new System.Drawing.Size(300, 300);
this.chartTotalTime.TabIndex = 0;
this.chartTotalTime.Text = "chart1";
答案 0 :(得分:2)
我遇到了你的问题。删除由图表控件添加的defalut系列(series1)。这应该可以解决你的问题。
默认系列的类型为SeriesCharType.Column
。您不能将系列与不同的图表类型混合。当所有系列都是Column
类型时,显示时没有问题。但是当您在代码中将类型更改为Bar
时,它与默认的系列类型不兼容。