Нарисуйте круговую диаграмму из DataGridView с именем столбца в виде ряда

У меня есть datagridview «regionVolumeTable» и объект диаграммы «pieChart» в коде C # с одной строкой данных в объекте datagridview и подобным макетом

DATE   |  NY   |   MA  | CA   | FL  
3/1/13 |  100  |  120  | 150  | 200

Я изо всех сил пытаюсь использовать строку [0], столбец [1], [2], [3], [4], которые («Нью-Йорк», «Массачусетс», «Калифорния», «Флорида») в качестве легенды в круговая диаграмма и строка [1], столбец [1], [2], [3], [4], которые представляют собой (100, 120, 150, 200) как значения для построения круговой диаграммы.

Я знаю, что мне нужно суммировать столбец [1 ... 4] из строки [1], чтобы получить сумму, а затем разделить каждый сектор, чтобы получить степень рисования.

Пока у меня есть:

for (int colindex = 1; colindex < 5; colindex++)
{
   pieChart.Series.Add((string)regionVolumeTable.Columns[colindex].Name);

}

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


person Queenian NY    schedule 18.03.2013    source источник


Ответы (1)


Для Pie диаграммы у вас может быть только один Series. Добавьте по одному DataPoints для каждого значения данных:

Series s = pieChart.Series.Add("pie");
s.ChartType = SeriesChartType.Pie;
s.IsValueShownAsLabel = true;
for (int colindex = 1; colindex < regionVolumeTable.Columns.Count; colindex++)
{
    s.Points.AddXY(regionVolumeTable.Columns[colindex].HeaderText,
                   regionVolumeTable[colindex, 0].Value);
}

введите описание изображения здесь

Обратите внимание, что выглядит так, как будто диаграммы содержат несколько Series; но на Pie диаграмме каждый DataPoint показан в Legend!

person TaW    schedule 27.08.2016