web-dev-qa-db-ja.com

チャートタイプをパイに設定する方法

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

複数のSeriesを追加し、それぞれに1つのPointがあります。その結果、チャートコントロールは最初のSeriesのみを表示します。あなたがやりたいのは、1つの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;
        }
15
zeFrenchy