如何将图表类型设置为饼形图

本文关键字:设置 饼形图 类型 | 更新日期: 2023-09-27 17:50:46

当我不放置图表类型时工作正常,但当我将其设置为馅饼时,它的工作不正确。它把所有的系列名称作为点1,饼只有一个蓝色的部分(一个圆圈),它只显示第一个点(值)。

foreach (var tag in tags)
{
    HtmlNode tagname = tag.SelectSingleNode("a");
    HtmlNode tagcount = tag.SelectSingleNode("span/span");
    chart1.Series.Add(tagname.InnerText);
    chart1.Series[x].Points.AddY(int.Parse(tagcount.InnerText));
    chart1.Series[x].IsValueShownAsLabel = true;
    chart1.Series[x].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Pie;
    x++;
}

如何将图表类型设置为饼形图

您正在添加多个Series,每个Point有一个。因此,图表控件只显示第一个Series。我相信你想做的是为单个Series添加多个点。

我不确定我理解你想用HtmlNode做什么,但下面的代码演示了如何从Dictionary使用标签名称作为键和整数作为值构建一个简单的饼状图。

        Dictionary<string, int> tags = new Dictionary<string,int>() { 
            { "test", 10 },
            { "my", 3 },
            { "code", 8 }
        };
        chart1.Series[0].Points.Clear();
        chart1.Series[0].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Pie;
        foreach (string tagname in tags.Keys)
        {
            chart1.Series[0].Points.AddXY(tagname, tags[tagname]);
            //chart1.Series[0].IsValueShownAsLabel = true;
        }