Wijmo 更優美的jQuery UI組件集:複合圖表(CompositeChart)

來源:互聯網
上載者:User

650) this.width=650;" style="border-right- 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.bkjia.com/uploads/allimg/131228/13231L648-0.png" width="562" height="364" />

Wijmo的CompositeChart控制項允許您使用一個Chart來分析和展現複雜的資料。相同的資料可以使用不同的視覺效果,不同的圖表類型展現在一個圖表內,使得使用者可以從不同的角度,瞭解分析這組資料所表達的內容 。

本文將介紹如何使用Wijmo的CompositeChart控制項,製作一個複合圖表。CompositeChart 的API:http://wijmo.com/wiki/index.php/Compositechart,Wijmo 的CompositeChart 化繁為簡,將傳統 Excel like圖表中的三大地區: Plot Area, Legend Area, Label Area, 分離成為更為簡單的API: SeriesList, Legend, Axis, Hint, 使得開發人員更加容易的理解和使用。

Wijmo的CompositeChart 依賴於下面的這5個核心的JavaScript庫:

raphael.js

globalize.min.js

jquery.ui.widget.js

jquery.wijmo.raphael.js

jquery.wijmo.wijchartcore.js

如果需要加入別的類型的Chart,需要再引入其它Chart類型的JavaScript庫,這樣可以使得開發人員可以靈活定製並裁剪出適合自己用例的JavaScript庫。例如本執行個體使用了 PieChart, BarChart, LineChart, 引入的JavaScript庫如下:

jquery-1.7.1.min.js

jquery-ui-1.8.18.custom.min.js

globalize.min.js

raphael-min.js

jquery.wijmo.raphael.js

jquery.wijmo.wijchartcore.js

jquery.wijmo.wijbarchart.js

jquery.wijmo.wijpiechart.js

jquery.wijmo.wijlinechart.js

jquery.wijmo.wijcompositechart.js

寫點代碼,設定一下Chart :

 

 
  1. $(document).ready(function () { 
  2.  
  3. $("#wijcompositechart").wijcompositechart({ 
  4.  
  5. axis: { 
  6.  
  7. y: { 
  8.  
  9. text: "Total Hardware" 
  10.  
  11. }, 
  12.  
  13. x: { 
  14.  
  15. text: "" 
  16.  
  17.  
  18. }, 
  19.  
  20. stacked: false, 
  21.  
  22. hint: { 
  23.  
  24. content: function () { 
  25.  
  26. return this.label + '\n ' + this.y + ''; 
  27.  
  28.  
  29. }, 
  30.  
  31. header: { 
  32.  
  33. text: "Hardware Distribution" 
  34.  
  35. }, 
  36.  
  37. seriesList: [{ 
  38.  
  39. type: "column", 
  40.  
  41. label: "West", 
  42.  
  43. legendEntry: true, 
  44.  
  45. data: { x: ['Desktops', 'Notebooks', 'AIO', 'Tablets', 'Phones'], y: [5, 3, 4, 7, 2] } 
  46.  
  47. }, { 
  48.  
  49. type: "column", 
  50.  
  51. label: "Central", 
  52.  
  53. legendEntry: true, 
  54.  
  55. data: { x: ['Desktops', 'Notebooks', 'AIO', 'Tablets', 'Phones'], y: [2, 2, 3, 2, 1] } 
  56.  
  57. }, { 
  58.  
  59. type: "column", 
  60.  
  61. label: "East", 
  62.  
  63. legendEntry: true, 
  64.  
  65. data: { x: ['Desktops', 'Notebooks', 'AIO', 'Tablets', 'Phones'], y: [3, 4, 4, 2, 5] } 
  66.  
  67. }, { 
  68.  
  69. type: "pie", 
  70.  
  71. label: "asdfdsfdsf", 
  72.  
  73. legendEntry: true, 
  74.  
  75. center: { x: 150, y: 150 }, 
  76.  
  77. radius: 60, 
  78.  
  79. data: [{ 
  80.  
  81. label: "MacBook Pro", 
  82.  
  83. legendEntry: true, 
  84.  
  85. data: 46.78, 
  86.  
  87. offset: 15 
  88.  
  89. }, { 
  90.  
  91. label: "iMac", 
  92.  
  93. legendEntry: true, 
  94.  
  95. data: 23.18, 
  96.  
  97. offset: 0 
  98.  
  99. }, { 
  100.  
  101. label: "MacBook", 
  102.  
  103. legendEntry: true, 
  104.  
  105. data: 20.25, 
  106.  
  107. offset: 0 
  108.  
  109. }] 
  110.  
  111. }, { 
  112.  
  113. type: "line", 
  114.  
  115. label: "Steam1", 
  116.  
  117. legendEntry: true, 
  118.  
  119. data: { 
  120.  
  121. x: ['Desktops', 'Notebooks', 'AIO', 'Tablets', 'Phones'], 
  122.  
  123. y: [3, 6, 2, 9, 5] 
  124.  
  125. }, 
  126.  
  127. markers: { 
  128.  
  129. visible: true, 
  130.  
  131. type: "circle" 
  132.  
  133.  
  134. }, { 
  135.  
  136. type: "line", 
  137.  
  138. label: "Steam2", 
  139.  
  140. legendEntry: true, 
  141.  
  142. data: { 
  143.  
  144. x: ['Desktops', 'Notebooks', 'AIO', 'Tablets', 'Phones'], 
  145.  
  146. y: [1, 3, 4, 7, 2] 
  147.  
  148. }, 
  149.  
  150. markers: { 
  151.  
  152. visible: true, 
  153.  
  154. type: "tri" 
  155.  
  156.  
  157.  
  158.  
  159. }); 
  160.  
  161. }); 

 

代碼不多,就有了的效果:

650) this.width=650;" style="border-right- 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="1" border="0" alt="1" src="http://www.bkjia.com/uploads/allimg/131228/13231J617-1.png" width="768" height="495" />

代碼不多,很好分析:

 

 
  1. -- 
  2.  
  3. axis: { 
  4.  
  5. y: { 
  6.  
  7. text: "Total Hardware" 
  8.  
  9. }, 
  10.  
  11. x: { 
  12.  
  13. text: "" 
  14.  
  15.  
  16. -- 
  17.  
  18. 設定X,Y 軸。 
  19.  
  20. --- 
  21.  
  22. stacked: false 
  23.  
  24. --- 
  25.  
  26. 設定Bar 為非stacked. 
  27.  
  28. --- 
  29.  
  30. hint: { 
  31.  
  32. content: function () { 
  33.  
  34. return this.label + '\n ' + this.y + ''; 
  35.  
  36.  
  37. }, 
  38.  
  39. --- 
  40.  
  41. 設定滑鼠 Tooltip. 
  42.  
  43. --- 
  44.  
  45. header: { 
  46.  
  47. text: "Hardware Distribution" 
  48.  
  49. }, 
  50.  
  51. --- 
  52.  
  53. 設定圖表頭. 
  54.  
  55. ---- 
  56.  
  57. seriesList: [{ 
  58.  
  59. type: "column", 
  60.  
  61. label: "West", 
  62.  
  63. legendEntry: true, 
  64.  
  65. data: { x: ['Desktops', 'Notebooks', 'AIO', 'Tablets', 'Phones'], y: [5, 3, 4, 7, 2] } 
  66.  
  67. }, { 
  68.  
  69. type: "column", 
  70.  
  71. label: "Central", 
  72.  
  73. legendEntry: true, 
  74.  
  75. data: { x: ['Desktops', 'Notebooks', 'AIO', 'Tablets', 'Phones'], y: [2, 2, 3, 2, 1] } 
  76.  
  77. }, { 
  78.  
  79. type: "column", 
  80.  
  81. label: "East", 
  82.  
  83. legendEntry: true, 
  84.  
  85. data: { x: ['Desktops', 'Notebooks', 'AIO', 'Tablets', 'Phones'], y: [3, 4, 4, 2, 5] } 
  86.  
  87. }, { 
  88.  
  89. type: "pie", 
  90.  
  91. label: "asdfdsfdsf", 
  92.  
  93. legendEntry: true, 
  94.  
  95. center: { x: 150, y: 150 }, 
  96.  
  97. radius: 60, 
  98.  
  99. data: [{ 
  100.  
  101. label: "MacBook Pro", 
  102.  
  103. legendEntry: true, 
  104.  
  105. data: 46.78, 
  106.  
  107. offset: 15 
  108.  
  109. }, { 
  110.  
  111. label: "iMac", 
  112.  
  113. legendEntry: true, 
  114.  
  115. data: 23.18, 
  116.  
  117. offset: 0 
  118.  
  119. }, { 
  120.  
  121. label: "MacBook", 
  122.  
  123. legendEntry: true, 
  124.  
  125. data: 20.25, 
  126.  
  127. offset: 0 
  128.  
  129. }] 
  130.  
  131. }, { 
  132.  
  133. type: "line", 
  134.  
  135. label: "Steam1", 
  136.  
  137. legendEntry: true, 
  138.  
  139. data: { 
  140.  
  141. x: ['Desktops', 'Notebooks', 'AIO', 'Tablets', 'Phones'], 
  142.  
  143. y: [3, 6, 2, 9, 5] 
  144.  
  145. }, 
  146.  
  147. markers: { 
  148.  
  149. visible: true, 
  150.  
  151. type: "circle" 
  152.  
  153.  
  154. }, { 
  155.  
  156. type: "line", 
  157.  
  158. label: "Steam2", 
  159.  
  160. legendEntry: true, 
  161.  
  162. data: { 
  163.  
  164. x: ['Desktops', 'Notebooks', 'AIO', 'Tablets', 'Phones'], 
  165.  
  166. y: [1, 3, 4, 7, 2] 
  167.  
  168. }, 
  169.  
  170. markers: { 
  171.  
  172. visible: true, 
  173.  
  174. type: "tri" 
  175.  
  176.  
  177.  

 

----

設定 SeriesList,每個Series 可以設定其type, label, legendEntry, data, 等等屬性。 Series可以設定 SeriesStyles, 和 SeriesHoverStyles, 如:

 

 
  1. seriesStyles: [{ 
  2.  
  3. fill: "#8ede43", stroke: "#7fc73c", opacity: 0.8 
  4.  
  5. }], 
  6.  
  7. seriesHoverStyles: [{ 
  8.  
  9. "stroke-width": "1.5", opacity: 1 
  10.  
  11. }] 

 

經過上面的設定,這個CompositeChart就設定好了。也可以使用Server返回的 Json 資料動態綁定產生Chart。

 

點擊這裡下載,本文執行個體代碼。

 

Wijmo下載,請進入Studio for ASP.NET Wijmo 2012 v1正式發布2012.03.22更新)!

本文出自 “葡萄城控制項部落格” 部落格,請務必保留此出處http://powertoolsteam.blog.51cto.com/2369428/857471

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.