2017-06-21 86 views
0

我想显示定制饼图,这使得用户选择选项,并根据我的情况下,图上 这是我的数据如何自定义使用SQL和C#

enter image description here

显示设置饼图颜色我想x轴totalacheivment,y是UCP,ibnsiena,海外

SqlCommand cmd1 = new SqlCommand("select Terriotry,UCPVol,IBNSINAVol,OVERSEASVol,TotalAcheivmentVol from ForecastTotal where Terriotry = '" + territory+"' and month ='"+Month+"' and year = '"+year+"'", conn); 
      try 
      { 
       conn.Open(); 
       mydatareader = cmd1.ExecuteReader(); 
       while (mydatareader.Read()) 
       { 

        chart1.Series["UCP"].Points.AddXY(mydatareader.GetString(4), mydatareader.GetInt32(1)); 
        chart1.Series["Ibnsiena"].Points.AddY(mydatareader.GetInt32(2)); 
        chart1.Series["Overseas"].Points.AddY(mydatareader.GetInt32(3)); 

        chart1.Series["UCP"]["PieLabelStyle"] = "Outside"; 
        chart1.Series["UCP"]["PieLineColor"] = "Black"; 



         chart1.DataBind(); 

        chart1.ChartAreas[0].AxisX.LabelStyle.Interval = 1; 
        chart1.ChartAreas[0].AxisX.Interval = 1; 

       } 

      } 
      catch (Exception ex) 
      { 
       MessageBox.Show(ex.Message); 
      } 
      conn.Close(); 

我尝试这个代码,但只显示一种颜色(蓝色)enter image description here

我想用不同颜色显示每个数字,以知道哪个数字与哪个列相关

+0

对于饼图只使用__one__系列!另外:你似乎在混合数据绑定图表(更好地绑定一个系列的点!!)并添加点。请决定你想要做什么! – TaW

+0

可以清除PLZ吗?我不知道哪个是最好的方式可以发布代码? –

+0

在我的情况下,我想比较3个值之间如何在一个系列中做到这一点? –

回答

2

正如TaW在评论中所说的,每个饼图只需要一个系列。

这是你如何可以显示文本的简单饼图:

// Set up the series 
var s1 = new Series("s1"); 
chart1.Series.Add(s1); 
s1.ChartType = SeriesChartType.Pie; 

// Get your data 
var yvalues = new List<int> { 2, 3 }; // fill this list with data from your query 
ar xvalues = new List<String> { "foo", "bar" }; 

// Databind it 
s1.Points.DataBindXY(xvalues, yvalues); 

据我了解你的需求,你可能希望有多个饼图:每个领土和一个用于比较这些领土的总数。

相关问题