当我这样做而没有把图表类型工作正常但是当我把它设置为饼时它不正常工作。它将所有系列名称作为第1点,饼图只有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++;
}
答案 0 :(得分:15)
您要添加多个Series
,每个Point
一个Series
。因此,图表控件仅显示第一个Series
。
我相信你想要做的是为一个HtmlNode
添加多个点。
我不确定我是否理解您要使用Dictionary
尝试的内容,但下面的代码演示了如何使用标记名称作为Key来构建来自 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;
}
的简单饼图整数为值。
{{1}}