7

チャートタイプを入れずに行うと正常に動作しますが、円に設定すると正しく動作しません。すべてのシリーズ名をポイント 1 として配置し、パイは 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++;
}
4

1 に答える 1

15

複数Seriesの をそれぞれに 1 ずつ追加してい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;
        }
于 2013-01-07T12:39:56.343 に答える