js圖表控制元件:highcharts的應用

z_paul發表於2021-09-09

    用圖表來表示資料,能夠使我們以直觀的方式來獲取更多的資訊,這也是很多專案中會用到的技術。最近,公司讓做個餅形圖,研究了幾天的時間,小有成果,在此與大家分享一下。

    highcharts效果展示圖網址:

    餅形圖。

    xml資料來源:

   

 
    2
   
   
      1
      全站原始碼
      110
   

   
      2
      新聞文章
      20
   

   
      3
      部落格論壇
      123
   

   
      4
      影音影片
      28
   

   
      5
      上傳下載
      100
   

   
      6
      功能原始碼
      100
   

   
      7
      投票調查
      200
   

   
      8
      聊天計數
      140
   

   
      9
      行政辦公
      180
   

   
      10
      天龍八部
      200
   

   
      11
      神鵰俠侶
      200
   

   
      12
      碧血劍
      200
   

   
      13
      王重陽
      100
   

   
      14
      張無忌至武當山
      100
   

   
      15
      張三丰
      100
   

   
      16
      張翠山
      5
   

   
      17
      金毛獅王
      1
   

   
      18
      紫衫龍王
      2
   

   
      19
      紫衫龍王2
      6
   

   
      20
      紫衫龍王3
      1
   

   
      20
      紫衫龍王4
      1
   

   
      20
      紫衫龍王5
      1
   

   
      20
      紫衫龍王6
      1
   

 

    前臺程式碼:

   





   
   

   

   


   

       

       

   

   


 

     後臺程式碼:

     protected string str = "";
        protected void Page_Load(object sender, EventArgs e)
        {
            LoadData();
        }
        protected void LoadData()
        {
            XmlDocument myDoc = new XmlDocument();
            myDoc.Load(Server.MapPath("DB_51aspx.xml"));

            XmlNode xn = myDoc.SelectSingleNode("//VoteInfo[ID='2']");//讀取資料來源

            XmlNodeList xnl = xn.SelectNodes("Item");


            double[] angle = new double[xnl.Count];//百分比
            string[] angle2 = new string[xnl.Count];
            string[] sTxt = new string[xnl.Count];//名稱
            decimal[] data = new decimal[xnl.Count];//數量
            double AllCount = 0;//總數

            for (int i = 0; i             {
                AllCount += Convert.ToSingle(xnl.Item(i).SelectSingleNode("Count").InnerText);
            }
            double sum = 0;
            for (int i = 0; i             {
                XmlNode xn0 = xnl.Item(i);
                if (i != xnl.Count - 1)
                {
                    angle[i] = Convert.ToDouble((Convert.ToDouble(xn0.SelectSingleNode("Count").InnerText) / AllCount * 100).ToString("#,##0.00"));//所佔百分比
                    sum += angle[i];
                    angle2[i] = (Convert.ToDouble(xn0.SelectSingleNode("Count").InnerText) / AllCount * 100).ToString("#,##0.00");
                }
                else
                {
                    angle[i] = Convert.ToDouble((100 - sum).ToString("#,##0.00"));
                    angle2[i] = (100 - sum).ToString("#,##0.00");
                }
                sTxt[i] = xn0.SelectSingleNode("Title").InnerText;
                data[i] = Convert.ToDecimal(xn0.SelectSingleNode("Count").InnerText);
                str += "[" + "'" + sTxt[i] + ":" + data[i] + "(元)'," + data[i] + "]" + ",";
            }
            str = str.Remove(str.Length - 1, 1);
           
        }

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/75/viewspace-2814975/,如需轉載,請註明出處,否則將追究法律責任。

相關文章