2015-03-28 1 views
0

мне нужно диаграмма:Как сделать таблицу C# с двумя столбцами на одно значение X?

|   _ 
| _  | | _ 
| | | _ | || | 
| | || | | || | 
|----|-------|------ 
    1  2 

Я пытался сделать это с помощью кода ниже, но второй столбец перекрывает first.But должен быть вторым столбцом рядом с первой колонкой

 chart.Series.Clear(); 
     chart.Series.Add("series 1"); 
     chart.Series.Add("series 2"); 

     for (int i = 0; i < alphabet.Length; i++) 
     { 
      DataPoint dp = new DataPoint(); 
      dp.AxisLabel = alphabet[i].ToString(); 
      dp.YValues = new double[] { freq[i] }; 

      chart.Series[0].Points.Add(dp); 

      dp.YValues = new double[] { 100 }; 
      chart.Series[1].Points.Add(dp); 
     } 
+0

Не описать детали? Что вы пытаетесь сделать, что не работает, КАК это не работает? Является ли проблема совпадением физической компоновки столбцов или перекрытие данных? – CindyH

+0

Мы не можем даже сказать, какой класс диаграммы. –

+0

Какую графическую библиотеку вы используете? Похоже, [System.Windows.Forms.DataVisualization.Charting] (https://msdn.microsoft.com/en-us/library/system.windows.forms.datavisualization.charting.aspx), правильно? – quetzalcoatl

ответ

0

Столбцы не выравнивание, потому что вы используете один и тот же экземпляр DataPoint. Используйте новый экземпляр DataPoint для вашей второй серии, и они будут отображаться, кроме друг друга.

chart.Series.Clear(); 
    chart.Series.Add("series 1"); 
    chart.Series.Add("series 2"); 

    for (int i = 0; i < alphabet.Length; i++) 
    { 
     DataPoint dp = new DataPoint(); 
     dp.AxisLabel = alphabet[i].ToString(); 
     dp.YValues = new double[] { freq[i] }; 

     chart.Series[0].Points.Add(dp); 



     DataPoint dp1 = new DataPoint(); 
     dp1.AxisLabel = alphabet[i].ToString(); 
     dp1.YValues = new double[] { 100 }; 
     chart.Series[1].Points.Add(dp1); 
    } 
+0

спасибо. Оно работает. –

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