【问题标题】:MSChart Bar Chart not workingMSChart 条形图不起作用
【发布时间】:2014-01-30 12:09:22
【问题描述】:

我有以下代码可以正常工作:

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";

【问题讨论】:

  • 你能把你的chararea设置。这可能与您有关chartarea。因此,即使更改为 Bar,您的代码对我来说也能正常工作。
  • 由设计器添加,除了控件名称外没有改变任何默认设置,请参阅设计器代码的原始帖子。

标签: c# .net winforms bar-chart mschart


【解决方案1】:

我有你的问题。删除图表控件添加的默认系列(series1)。这应该可以解决您的问题。

默认系列的类型为SeriesCharType.Column。您不能将系列与不同的图表类型混合使用。当所有系列都是Column 类型时,显示没有问题。但是当你在代码中将类型改为Bar时,与默认系列类型不兼容。

【讨论】:

  • @blawford,很高兴为您提供帮助...不要忘记投票 ;)
猜你喜欢
  • 1970-01-01
  • 2016-04-26
  • 2014-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-07
  • 1970-01-01
相关资源
最近更新 更多