2014-01-30 2 views
0

У меня есть следующий код работает отлично:MSChart Гистограмма не работает

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 он сломается, просто показывает, белая коробка с красным крестом через него. Может кто-нибудь сказать мне, почему? Кажется странным, учитывая, что это почти такая же диаграмма повернута ... Я могу найти очень мало примеров того, как реализовать этот элемент управления.

Edited добавить дизайнер код:

 // 
     // 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

Не могли бы вы поместить настройки 'chararea'. Это может быть связано с вами «chartarea». Таким образом, ваш код работает отлично для меня, даже если он изменен на «Bar». – Junaith

+0

Добавлен от дизайнера и ничего не менял по умолчанию, кроме имени элемента управления, см. Оригинальное сообщение для кода дизайнера. – blawford

ответ

2

Я получил вашу проблему. Удалите серию defalut (series1), добавленную элементом управления диаграммой. Это должно решить вашу проблему.

Серия по умолчанию имеет тип SeriesCharType.Column. Вы не можете смешивать серии с разными типами диаграмм. Когда все серии имеют тип Column, тогда никаких проблем при отображении. Но когда вы меняете тип на Bar в коде, он несовместим с типом серии по умолчанию.

+0

Да, это сработало. Большое спасибо! – blawford

+0

@blawford, рад помочь ... не забудьте подняться;) – Junaith

Смежные вопросы