sunburst.html 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. <script src="lib/esl.js"></script>
  5. <script src="lib/config.js"></script>
  6. </head>
  7. <body>
  8. <style>
  9. html, body, #main {
  10. width: 100%;
  11. height: 100%;
  12. /* background-image: url(old_mathematics.png); */
  13. /* background-repeat: repeat; */
  14. }
  15. </style>
  16. <div id="main"></div>
  17. <script>
  18. var chart;
  19. require([
  20. 'echarts'
  21. ], function (echarts) {
  22. chart = echarts.init(document.getElementById('main'), null, {
  23. // renderer: 'svg'
  24. });
  25. var data = [{
  26. name: 'Grandpa',
  27. children: [{
  28. name: 'Uncle Leo',
  29. value: 15,
  30. children: [{
  31. name: 'Cousin Jack',
  32. value: 2
  33. }, {
  34. name: 'Cousin Mary',
  35. value: 5,
  36. itemStyle: {
  37. opacity: 0.2
  38. },
  39. children: [{
  40. name: 'Jackson',
  41. value: 2
  42. }]
  43. }, {
  44. name: 'Cousin Ben',
  45. value: 4
  46. }],
  47. itemStyle: {
  48. color: '#660'
  49. }
  50. }, {
  51. name: 'Aunt Jane',
  52. children: [{
  53. name: 'Cousin Kate',
  54. value: 4,
  55. itemStyle: {
  56. color: '#660'
  57. }
  58. }]
  59. }, {
  60. name: 'Father',
  61. value: 10,
  62. children: [{
  63. name: 'Me',
  64. value: 5
  65. }, {
  66. name: 'Brother Peter',
  67. value: 1
  68. }],
  69. itemStyle: {
  70. downplay: {
  71. opacity: 0.1
  72. }
  73. }
  74. }],
  75. itemStyle: {
  76. downplay: {
  77. opacity: 0.8
  78. }
  79. }
  80. }, {
  81. name: 'Mike',
  82. children: [{
  83. name: 'Uncle Dan',
  84. children: [{
  85. name: 'Cousin Lucy',
  86. value: 3
  87. }, {
  88. name: 'Cousin Luck',
  89. value: 4,
  90. children: [{
  91. name: 'Nephew',
  92. value: 2
  93. }]
  94. }]
  95. }]
  96. }, {
  97. name: 'Nancy',
  98. children: [{
  99. name: 'Uncle Nike',
  100. children: [{
  101. name: 'Cousin Betty',
  102. value: 1
  103. }, {
  104. name: 'Cousin Jenny',
  105. value: 2
  106. }]
  107. }]
  108. }];
  109. chart.setOption({
  110. aria: {
  111. show: true
  112. },
  113. series: {
  114. type: 'sunburst',
  115. // highlightPolicy: 'ancestor',
  116. data: data,
  117. radius: [0, '90%'],
  118. label: {
  119. rotate: 'radial'
  120. },
  121. levels: [{
  122. itemStyle: {
  123. opacity: 1,
  124. color: '#70d'
  125. }
  126. }, {
  127. itemStyle: {
  128. opacity: 0.8,
  129. color: '#f0f'
  130. },
  131. label: {
  132. opacity: 0.8,
  133. formatter: '{a}: {b}'
  134. }
  135. }, {
  136. itemStyle: {
  137. opacity: 0.6,
  138. color: '#00f'
  139. },
  140. label: {
  141. opacity: 0.6
  142. }
  143. }, {
  144. itemStyle: {
  145. opacity: 0.4
  146. }
  147. }]
  148. }
  149. });
  150. setTimeout(function () {
  151. data.push({
  152. name: 'Stranger',
  153. children: [{
  154. name: 'S1',
  155. value: 4
  156. }, {
  157. name: 'S2',
  158. value: 1
  159. }]
  160. });
  161. chart.setOption({
  162. series: {
  163. data: data
  164. }
  165. });
  166. }, 3000);
  167. setTimeout(function () {
  168. data.splice(1, 1);
  169. data[0].value = 32;
  170. chart.setOption({
  171. series: {
  172. data: data
  173. }
  174. });
  175. }, 6000);
  176. });
  177. </script>
  178. </body>
  179. </html>