2013-01-06 19 views
5

Grafik türü koymadan bunu yaptığımda, iyi çalışıyor, ancak düzgün çalışmamaya karar verdiğimde. Tüm seri isimlerini Nokta 1 olarak koydu, pasta sadece 1 mavi parça (bir daire) ve sadece ilk noktayı (Değer) gösterir. Birden Series ekliyoruzPasta türü için pasta türü nasıl ayarlanır

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++; 
} 

cevap

13

, biri Point her. Sonuç olarak, grafik denetimi sadece ilk Series görüntüler. Yapmak istediğiniz şeyin tek bir Series'a birden çok nokta eklemesi olduğuna inanıyorum.

HtmlNode ile ne yapmaya çalıştığınızı anladığımdan emin değilim, ancak aşağıdaki kod, Anahtar olarak bir etiket adı ve Değer olarak bir tamsayı kullanarak Dictionary'dan basit bir pasta grafiğin nasıl oluşturulduğunu gösterir.

 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; 
     } 
İlgili konular