如何将图表类型设置为饼图
当我这样做而没有把图表类型工作正常,但当我把它设置为馅饼时它的工作不正确。 它将所有系列名称作为Point 1,馅饼只有1个蓝色部分(一个圆圈),它只显示第一个点(Value)。
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
,每个Series
都有一个Point
。 因此,图表控件仅显示第一个Series
。 我相信你想要做的是为一个Series
添加多个点。
我不确定我是否理解你HtmlNode
做什么,但下面的代码演示了如何使用标签名称为Key和整数作为Value从Dictionary
构建一个简单的饼图。
Dictionary tags = new Dictionary() { { "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; }