2013-01-06 14 views
5

グラフの種類を入れずに行うと、正常に動作しますが、正しく設定されていない場合は正しく設定されます。すべてのシリーズ名をPoint 1にします。パイは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++; 
} 

答えて

13

あなたは、1 Pointとそれぞれを複数のSeriesを追加しています。結果として、チャートコントロールには最初のSeriesしか表示されません。 あなたがしたいのは、単一のSeriesに複数のポイントを追加することです。

HtmlNodeで何をしようとしているのか分かりませんが、Dictionaryから簡単な円グラフを作成する方法を示します。タグ名をKey、整数をValueとして使用しています。

 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; 
     } 
関連する問題