2013-01-06 12 views
5

पर सेट करने के लिए कैसे करें जब मैं चार्ट प्रकार डाले बिना ऐसा करता हूं तो ठीक काम करता है लेकिन जब मैं इसे पाई पर सेट करता हूं तो यह सही काम नहीं कर रहा है। यह सभी श्रृंखला नाम को प्वाइंट 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++; 
} 

उत्तर

13

आप एक से अधिक Series जोड़ रहे हैं, एक 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; 
     } 
संबंधित मुद्दे