visualifyjs 2.5.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (147) hide show
  1. package/.github/workflows/static.yml.bak +51 -0
  2. package/LICENSE +674 -0
  3. package/README.md +59 -0
  4. package/config-overrides.js +31 -0
  5. package/dist/visualify.js +188 -0
  6. package/docs/.nojekyll +0 -0
  7. package/docs/docs/CLI.md +34 -0
  8. package/docs/docs/README.md +65 -0
  9. package/docs/docs/Rechart/bar.md +190 -0
  10. package/docs/docs/Rechart/funnel.md +193 -0
  11. package/docs/docs/Rechart/geo.md +0 -0
  12. package/docs/docs/Rechart/line.md +355 -0
  13. package/docs/docs/Rechart/liquidfill.md +0 -0
  14. package/docs/docs/Rechart/pie.md +225 -0
  15. package/docs/docs/Rechart/polar.md +0 -0
  16. package/docs/docs/Rechart/radar.md +253 -0
  17. package/docs/docs/Rechart/sankey.md +0 -0
  18. package/docs/docs/Rechart/scatter.md +0 -0
  19. package/docs/docs/Rechart/sunburst.md +0 -0
  20. package/docs/docs/Rechart/tree.md +0 -0
  21. package/docs/docs/Rechart/wordcloud.md +0 -0
  22. package/docs/docs/_404.md +52 -0
  23. package/docs/docs/_coverpage.md +11 -0
  24. package/docs/docs/_sidebar.md +43 -0
  25. package/docs/docs/components/dotBio.md +34 -0
  26. package/docs/docs/components/echart.md +82 -0
  27. package/docs/docs/components/html.md +34 -0
  28. package/docs/docs/components/macaron.md +145 -0
  29. package/docs/docs/components/markdown.md +0 -0
  30. package/docs/docs/components/more.md +142 -0
  31. package/docs/docs/components/plotly.md +62 -0
  32. package/docs/docs/components/scatterL.md +70 -0
  33. package/docs/docs/components/visium.md +57 -0
  34. package/docs/docs/configuration.md +123 -0
  35. package/docs/docs/deploy.md +31 -0
  36. package/docs/docs/log.md +1 -0
  37. package/docs/docs/more-pages.md +23 -0
  38. package/docs/docs/quickstart.md +119 -0
  39. package/docs/docs/rechart-attributes.md +74 -0
  40. package/docs/docs/rechart-basic-usage.md +162 -0
  41. package/docs/docs/static/_images/deploy-github-pages.png +0 -0
  42. package/docs/docs/static/logo/favicon.ico +0 -0
  43. package/docs/docs/static/logo/logo_128x128.png +0 -0
  44. package/docs/docs/static/logo/logo_192x192.png +0 -0
  45. package/docs/docs/static/logo/logo_256x256.png +0 -0
  46. package/docs/docs/static/logo/logo_512x512.png +0 -0
  47. package/docs/docs/static/logo/logo_64x64.png +0 -0
  48. package/docs/docs/theme.md +5 -0
  49. package/docs/index.html +71 -0
  50. package/docs/manifest.json +24 -0
  51. package/docs/static/css/fluff-stuff.css +170 -0
  52. package/docs/static/css/font-awesome.min.css +4 -0
  53. package/docs/static/css/visualify.css +25 -0
  54. package/docs/static/fonts/fontawesome-webfont.woff2 +0 -0
  55. package/docs/static/images/star.png +0 -0
  56. package/docs/static/js/configuration.js +448 -0
  57. package/docs/static/js/fluff.js +1 -0
  58. package/docs/static/js/visualify.js +188 -0
  59. package/docs/static/logo/favicon.ico +0 -0
  60. package/docs/static/logo/logo_128x128.png +0 -0
  61. package/docs/static/logo/logo_192x192.png +0 -0
  62. package/docs/static/logo/logo_256x256.png +0 -0
  63. package/docs/static/logo/logo_512x512.png +0 -0
  64. package/docs/static/logo/logo_64x64.png +0 -0
  65. package/package.json +84 -0
  66. package/rollup.config.mjs +76 -0
  67. package/src/_css/404.css +116 -0
  68. package/src/_css/App.css +38 -0
  69. package/src/_css/autoSuggestion.css +27 -0
  70. package/src/_css/circular-progress.css +33 -0
  71. package/src/_css/index.css +37 -0
  72. package/src/_css/modern.css +25 -0
  73. package/src/_media/404.png +0 -0
  74. package/src/_media/corner.svg +8 -0
  75. package/src/_media/download.svg +3 -0
  76. package/src/_media/icon.svg +1 -0
  77. package/src/_media/logo.svg +14 -0
  78. package/src/_test/App.test.js +15 -0
  79. package/src/_utils/reportWebVitals.js +13 -0
  80. package/src/core/appContext.js +27 -0
  81. package/src/core/components/Scatter.js +188 -0
  82. package/src/core/components/ScatterBio.js +572 -0
  83. package/src/core/components/VisiumPlot.js +165 -0
  84. package/src/core/components/browser.js +42 -0
  85. package/src/core/components/dotplot.js +413 -0
  86. package/src/core/components/html.js +29 -0
  87. package/src/core/components/list.js +178 -0
  88. package/src/core/components/macaron.js +201 -0
  89. package/src/core/components/markdown.js +56 -0
  90. package/src/core/components/parser.scatterBio.js +579 -0
  91. package/src/core/components/ratio.js +80 -0
  92. package/src/core/components/scatterL.js +173 -0
  93. package/src/core/components/searchbar.js +131 -0
  94. package/src/core/components/selection.js +193 -0
  95. package/src/core/components/timeline.js +281 -0
  96. package/src/core/components/visium.js +97 -0
  97. package/src/core/fetch/condfetch.js +82 -0
  98. package/src/core/fetch/fetch.js +92 -0
  99. package/src/core/fetch/json.js +29 -0
  100. package/src/core/fetch/vfetch.js +42 -0
  101. package/src/core/liveEditor.js +44 -0
  102. package/src/core/modules/codeEditorWithPreview.js +104 -0
  103. package/src/core/modules/echarts/common.js +20 -0
  104. package/src/core/modules/echarts/presetHandler.js +41 -0
  105. package/src/core/modules/echarts/presets/esodev.chromium.js +172 -0
  106. package/src/core/modules/echarts/presets/esodev.codex.js +130 -0
  107. package/src/core/modules/echarts/presets/esodev.visium.js +123 -0
  108. package/src/core/modules/echarts/presets/mmtrbc.js +186 -0
  109. package/src/core/modules/echarts.js +71 -0
  110. package/src/core/modules/echartsUtils.js +43 -0
  111. package/src/core/modules/echartswitcher.js +152 -0
  112. package/src/core/modules/replotly/presetHandler.js +24 -0
  113. package/src/core/modules/replotly/presets/minimum.js +18 -0
  114. package/src/core/modules/replotly/presets/mmtrbc.dot.js +114 -0
  115. package/src/core/modules/replotly/presets/mmtrbc.violin.js +100 -0
  116. package/src/core/modules/replotly.js +71 -0
  117. package/src/core/pages/404.js +50 -0
  118. package/src/core/pages/error.js +27 -0
  119. package/src/core/pages/jsonPage.js +62 -0
  120. package/src/core/pages/loading.js +44 -0
  121. package/src/core/parser/echart.data.js +183 -0
  122. package/src/core/parser/echart.features.js +125 -0
  123. package/src/core/parser/echart.general.js +143 -0
  124. package/src/core/parser/echart.hilbert.js +57 -0
  125. package/src/core/parser/echart.parser.js +210 -0
  126. package/src/core/parser/echart.series.js +67 -0
  127. package/src/core/parser/echart.types.js +76 -0
  128. package/src/core/parser/plotly.config.js +10 -0
  129. package/src/core/parser/plotly.data.js +132 -0
  130. package/src/core/parser/plotly.layout.js +10 -0
  131. package/src/core/parser/plotly.violin.js +18 -0
  132. package/src/core/recharts.js +62 -0
  133. package/src/core/router/alias.js +49 -0
  134. package/src/core/router/jsonRouter.js +31 -0
  135. package/src/core/themes/modern.js +32 -0
  136. package/src/core/themes/themeSelector.js +33 -0
  137. package/src/core/visualify.js +47 -0
  138. package/src/core/widgets/circularProgress.js +24 -0
  139. package/src/core/widgets/controller.js +83 -0
  140. package/src/core/widgets/errorBoundary.js +36 -0
  141. package/src/core/widgets/footer.js +177 -0
  142. package/src/core/widgets/header.js +234 -0
  143. package/src/core/widgets/layout/Grid.js +31 -0
  144. package/src/core/widgets/layout.js +36 -0
  145. package/src/core/widgets/mapping.js +42 -0
  146. package/src/index.js +62 -0
  147. package/src/setupTests.js +5 -0
@@ -0,0 +1,355 @@
1
+ <script defers>
2
+
3
+ const basic_line = {
4
+ code: `const getOption = () => {
5
+ return {
6
+ type: 'line',
7
+ data: {
8
+ '1': [820, 932, 901, 934, 1290, 1330, 1320],
9
+ '2': [1320, 820,1290, 901, 934, 932, 1330],
10
+ },
11
+ xAxis: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
12
+ legend: false,
13
+ }
14
+ };
15
+ return getOption;`
16
+ };
17
+
18
+ const smooth_line = {
19
+ code: `const getOption = () => {
20
+ return {
21
+ type: 'line',
22
+ data: {
23
+ '1': [820, 932, 901, 934, 1290, 1330, 1320],
24
+ '2': [1320, 820,1290, 901, 934, 932, 1330],
25
+ },
26
+ xAxis: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
27
+ smooth: true,
28
+ legend: false,
29
+ }
30
+ };
31
+ return getOption;`
32
+ };
33
+
34
+ const basic_area_chart = {
35
+ code: `const getOption = () => {
36
+ return {
37
+ type: 'line',
38
+ data: {
39
+ '1': [820, 932, 901, 934, 1290, 1330, 1320],
40
+ '2': [1320, 820,1290, 901, 934, 932, 1330],
41
+ },
42
+ xAxis: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
43
+ areaStyle: [{color: 'red'}, {color: 'blue'}],
44
+ smooth: [true, false],
45
+ legend: false,
46
+ }
47
+ };
48
+ return getOption;`
49
+ };
50
+
51
+ const stacked_area_chart = {
52
+ code: `const getOption = () => {
53
+ return {
54
+ type: 'line',
55
+ data: {
56
+ 'Vue': [3000, 3500, 3900, 3100, 3200, 3100, 3600, 3300, 3600, 3400, 3100, 3000],
57
+ 'React': [2000, 2000, 2600, 2300, 2300, 2000, 2600, 2200, 2500, 2800, 2500, 2200],
58
+ 'Angular': [827, 949, 1400, 1000, 884, 911, 983, 989, 925, 1100, 1200, 930],
59
+ },
60
+ xAxis: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec'],
61
+ areaStyle: {},
62
+ stack: 'total',
63
+ smooth: true,
64
+ overrides:{
65
+ tooltip: {
66
+ trigger: 'axis',
67
+ axisPointer: {
68
+ type: 'cross',
69
+ label: {
70
+ backgroundColor: '#6a7985'
71
+ }
72
+ }
73
+ },
74
+ toolbox: {
75
+ feature: {
76
+ saveAsImage: {}
77
+ }
78
+ },
79
+ }
80
+ }
81
+ };
82
+ return getOption;`
83
+ };
84
+
85
+ const percentage_stacked_area_chart = {
86
+ code: `const getOption = () => {
87
+ return {
88
+ type: 'line',
89
+ data: {
90
+ 'Vue': [3000, 3500, 3900, 3100, 3200, 3100, 3600, 3300, 3600, 3400, 3100, 3000],
91
+ 'React': [4000, 4500, 4900, 4300, 4400, 4300, 4800, 4500, 4800, 4600, 4300, 4000],
92
+ 'Angular': [827, 949, 1400, 1000, 884, 911, 983, 989, 925, 1100, 1200, 930, ],
93
+ },
94
+ xAxis: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec'],
95
+ areaStyle: {},
96
+ smooth: true,
97
+ percentage: true,
98
+ }
99
+ };
100
+ return getOption;`
101
+ };
102
+
103
+ const step_line_chart ={
104
+ code: `const getOption = () => {
105
+ return {
106
+ type: 'line',
107
+ data: {
108
+ 'Vue': [3000, 3500, 3900, 3100, 3200],
109
+ 'React': [4000, 4500, 4900, 4300, 4400],
110
+ 'Angular': [827, 949, 1400, 1000, 884],
111
+ },
112
+ xAxis: ['Jan', 'Feb', 'Mar', 'Apr', 'May'],
113
+ smooth: true,
114
+ areaStyle: {},
115
+ step: ['start', 'end', 'middle'],
116
+ }
117
+ };
118
+ return getOption;`
119
+ };
120
+
121
+ // Addition Line Setting
122
+
123
+ const line_label_Axis = {
124
+ code: `const getOption = () => {
125
+ return {
126
+ type: 'line',
127
+ data: {
128
+ 'Vue': [3000, 3500, 3900, 3100, 3200],
129
+ 'React': [4000, 4500, 4900, 4300, 4400],
130
+ 'Angular': [827, 949, 1400, 1000, 884],
131
+ },
132
+ xAxis: ['Jan', 'Feb', 'Mar', 'Apr', 'May'],
133
+ smooth: true,
134
+ label: [
135
+ {bold: true, color: 'blue',fontSize: 20},
136
+ {color: 'red'},
137
+ {color: 'green'},
138
+ ],
139
+ yAxisLabelColor: 'rgba(209, 10, 220, 1)',
140
+ xAxisLabelColor: 'rgba(14, 33, 237, 1)',
141
+ }
142
+ };
143
+ return getOption;`
144
+ };
145
+
146
+ const hide_axis = {
147
+ code: `const getOption = () => {
148
+ return {
149
+ title: 'Daily Electricity Usage',
150
+ type: 'line',
151
+ data: {
152
+ 'usage': [300, 280, 250, 260, 270, 300, 550, 500, 400, 390, 380, 390, 400, 500, 600, 750, 800, 700, 600, 400],
153
+ 'usage2': [125, 280, 223, 260, 270, 300, 550, 343, 400, 390, 553, 213, 400, 223, 123, 750, 321, 123, 542, 135],
154
+ },
155
+ xAxis: ['00:00', '01:15', '02:30', '03:45', '05:00', '06:15', '07:30', '08:45', '10:00', '11:15', '12:30', '13:45', '15:00', '16:15', '17:30', '18:45', '20:00', '21:15', '22:30', '23:45'],
156
+ xAxisLineshow: false,
157
+ yAxisLineshow: true,
158
+ yAxisLabelShow:false,
159
+ smooth: true,
160
+ overrides:{
161
+ }
162
+ }
163
+ };
164
+ return getOption;`
165
+ };
166
+
167
+ const markArea = {
168
+ code: `const getOption = () => {
169
+ return {
170
+ title: 'Daily Electricity Usage',
171
+ type: 'line',
172
+ data: {
173
+ 'usage': [300, 280, 250, 260, 270, 300, 550, 500, 400, 390, 380, 390, 400, 500, 600, 750, 800, 700, 600, 400],
174
+ 'usage2': [125, 280, 223, 260, 270, 300, 550, 343, 400, 390, 553, 213, 400, 223, 123, 750, 321, 123, 542, 135],
175
+ },
176
+ xAxis: ['00:00', '01:15', '02:30', '03:45', '05:00', '06:15', '07:30', '08:45', '10:00', '11:15', '12:30', '13:45', '15:00', '16:15', '17:30', '18:45', '20:00', '21:15', '22:30', '23:45'],
177
+ smooth: true,
178
+ markArea: [
179
+ {
180
+ 'xAxis': [{start:'06:15', end:'08:45', name: "High Demanding Period"}],
181
+ 'yAxis': {start: 400, end: 600},
182
+ },
183
+ {
184
+ 'xAxis': [{start:'00:00', end:'02:30', name: "Low Demanding Period"}, {start:'05:00',end:'06:15'}],
185
+ 'data': [[{ name: 'avg to max', type: 'average'},{ type: 'max' }]],
186
+ }
187
+ ],
188
+ }
189
+ };
190
+ return getOption;`};
191
+
192
+ const markLine = {
193
+ code: `const getOption = () => {
194
+ return {
195
+ title: 'Daily Electricity Usage',
196
+ type: 'line',
197
+ data: {
198
+ 'usage': [300, 280, 250, 260, 270, 300, 550],
199
+ 'usage2': [125, 373, 223, 323, 270, 352, 250],
200
+ },
201
+ xAxis: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
202
+ smooth: true,
203
+ markLine: [
204
+ {
205
+ data: [
206
+ { name: 'avg', type: 'average'},
207
+ { name: 'min', type: 'min'},
208
+ { name: 'max', type: 'max'},
209
+ ],
210
+ },{
211
+ data: [
212
+ {
213
+ name: 'Y-axis',
214
+ yAxis: 100,
215
+ label: { formatter: '{b}', }
216
+ },
217
+ [
218
+ { name: 'min to avg', type: 'min'},
219
+ { type: 'average'}
220
+ ],
221
+ [
222
+ { name: 'from two points', coord: ['Wed', 100]},
223
+ { coord: ['Fri', 200] }
224
+ ],
225
+ [
226
+ { yAxis: 'average', x: '30%' },
227
+ { type: 'max' }
228
+ ]
229
+ ],
230
+ }],
231
+ }
232
+ };
233
+ return getOption;`};
234
+
235
+ const peak_valley = {
236
+ code: `const getOption = () => {
237
+ return {
238
+ title: 'Daily Electricity Usage',
239
+ type: 'line',
240
+ data: {
241
+ 'usage': [300, 280, 250, 260, 270, 300, 550, 500, 400, 390, 380, 390, 400, 500, 600, 750, 800, 700, 600, 400],
242
+ 'usage2': [125, 280, 223, 260, 270, 300, 550, 343, 400, 390, 553, 213, 400, 223, 123, 750, 321, 123, 542, 135],
243
+ },
244
+ xAxis: ['00:00', '01:15', '02:30', '03:45', '05:00', '06:15', '07:30', '08:45', '10:00', '11:15', '12:30', '13:45', '15:00', '16:15', '17:30', '18:45', '20:00', '21:15', '22:30', '23:45'],
245
+ smooth: true,
246
+ peak: '峰',
247
+ valley: true,
248
+ overrides:{}
249
+ }
250
+ };
251
+ return getOption;`};
252
+
253
+ const ex1 = new $visualify.LiveEditor(basic_line).mount('#ex1');
254
+ const ex2 = new $visualify.LiveEditor(smooth_line).mount('#ex2');
255
+ const ex3 = new $visualify.LiveEditor(basic_area_chart).mount('#ex3');
256
+ const ex4 = new $visualify.LiveEditor(stacked_area_chart).mount('#ex4');
257
+ const ex5 = new $visualify.LiveEditor(percentage_stacked_area_chart).mount('#ex5');
258
+ const ex6 = new $visualify.LiveEditor(step_line_chart).mount('#ex6');
259
+ const ex7 = new $visualify.LiveEditor(line_label_Axis).mount('#ex7');
260
+ const ex8 = new $visualify.LiveEditor(hide_axis).mount('#ex8');
261
+ const ex9 = new $visualify.LiveEditor(markArea).mount('#ex9');
262
+ const ex10 = new $visualify.LiveEditor(markLine).mount('#ex10');
263
+ const ex11 = new $visualify.LiveEditor(peak_valley).mount('#ex11');
264
+ </script>
265
+
266
+ # Line Chart
267
+
268
+ ## Basic Line Chart
269
+
270
+ <div id="ex1"></div>
271
+
272
+ ## Smooth Line Chart
273
+
274
+ <div id="ex2"></div>
275
+
276
+ ## Basic Area Chart
277
+
278
+ <div id="ex3"></div>
279
+
280
+ ## Stacked Area Chart
281
+
282
+ <div id="ex4"></div>
283
+
284
+ ## Percentage Stacked Area Chart
285
+
286
+ <div id="ex5"></div>
287
+
288
+ ## Step Line Chart
289
+
290
+ <div id="ex6"></div>
291
+
292
+ ## Addition Line Setting
293
+
294
+ ### Setting Label & AxisColor
295
+
296
+ <div id="ex7"></div>
297
+
298
+ ### Hiding Axis
299
+
300
+ <div id="ex8"></div>
301
+
302
+ ### Marking Area
303
+
304
+ <div id="ex9"></div>
305
+
306
+ ### Marking Line
307
+
308
+ <div id="ex10"></div>
309
+
310
+ ### Peak & Valley
311
+
312
+ <div id="ex11"></div>
313
+
314
+ ## Overall Configuration
315
+
316
+ ### Basic Configuration
317
+
318
+ The basic configuration includes:
319
+
320
+ | Attribute | Type | Description | Choice | Default |
321
+ | --------------- | ----------- | ----------------------- | -------------------------- | ------- |
322
+ | title | string | The main title | User-defined title | - |
323
+ | subtitle | string | A secondary title | User-defined subtitle | - |
324
+ | width | string | The width dimension | Any valid CSS width value | - |
325
+ | height | string | The height dimension | Any valid CSS height value | 400px |
326
+ | legend | bool/object | show or hide legend | False, User-defined legend | {} |
327
+ | xAxis | array/false | The xAxis | User-defined xAxis Data | [] |
328
+ | yAxis | array/false | The yAxis | User-defined yAxis Data | [] |
329
+ | label | object | The label | User-defined label | {} |
330
+ | labelLine | object | The labelLine | User-defined labelLine | {} |
331
+ | tooltip | object | The tooltip | User-defined tooltip | {} |
332
+ | xAxisLineshow | bool | show or hide xAxisLines | True, False | true |
333
+ | yAxisLineshow | bool | show or hide yAxisLines | True, False | true |
334
+ | xAxisLabelShow | bool | show or hide xAxisLabel | True, False | true |
335
+ | yAxisLabelShow | bool | show or hide yAxisLabel | True, False | true |
336
+ | xAxisLabelColor | string | The xAxisLabelColor | Any valid CSS color value | - |
337
+ | yAxisLabelColor | string | The yAxisLabelColor | Any valid CSS color value | - |
338
+
339
+ ### Data Configuration
340
+
341
+ | Attribute | Type | Description | Choice | Default |
342
+ | ---------- | ----------------- | --------------------------- | ----------------------------------------------------------------------------------------- | --------- |
343
+ | data | string | The data | User-defined data | {} |
344
+ | type | string/array | The type | 'line', 'bar' | undefined |
345
+ | smooth | bool/array | The smooth | True, False, [true, false] | false |
346
+ | areaStyle | object | The area style | {},[{color: 'red'},{color: 'blue'}] | {} |
347
+ | stack | string/array | The stack | {}, ['x', 'y'], 'total' | - |
348
+ | markArea | object/array | The mark area | {XAxis: [{start: '...', end:'...', name: "..."}, ... ], YAxis: ..., props: ..}, [{}, ...] | - |
349
+ | markLine | object/array | The mark line | {data: { name: 'average', type: 'average'}, props: .. }, [{ data: {}, props: ..}, ...] | - |
350
+ | peak | bool/string | name of the peak | True, False, user-defined name of the peak | false |
351
+ | valley | bool/string | name of the valley | True, False, user-defined name of the valley | false |
352
+ | smooth | bool/array | The smooth | True, False, [true, false] | false |
353
+ | areaStyle | object | The area style | {},[{color: 'red'},{color: 'blue'}] | {} |
354
+ | percentage | bool | The percentage stacked mode | True, False | false |
355
+ | steps | bool/string/array | The steps | True, False, 'start', 'middle', 'end', ['start', 'middle', 'end'] | false |
File without changes
@@ -0,0 +1,225 @@
1
+ <script defers>
2
+
3
+ const Basic_Pie = {
4
+ code: `const getOption = () => {
5
+ return {
6
+ type: 'pie',
7
+ data: {
8
+ 'Referer of a Websit': [
9
+ { value: 1048, name: 'Search Engine' },
10
+ { value: 735, name: 'Direct' },
11
+ { value: 580, name: 'Email' },
12
+ { value: 484, name: 'Union Ads' },
13
+ { value: 300, name: 'Video Ads' }
14
+ ],
15
+ },
16
+ }
17
+ };
18
+ return getOption;`
19
+ };
20
+
21
+ const selected_Pie = {
22
+ code: `const getOption = () => {
23
+ return {
24
+ type: 'pie',
25
+ data: {
26
+ 'Referer of a Websit': [
27
+ { value: 1048, name: 'Search Engine' },
28
+ { value: 735, name: 'Direct' },
29
+ { value: 580, name: 'Email' },
30
+ { value: 484, name: 'Union Ads' },
31
+ { value: 300, name: 'Video Ads' }
32
+ ],
33
+ },
34
+ selectedMode: "single", // "multiple"
35
+ }
36
+ };
37
+ return getOption;`
38
+ };
39
+
40
+ const Nightingale = {
41
+ code: `const getOption = () => {
42
+ return {
43
+ type: 'pie',
44
+ data: {
45
+ 'Rose': [
46
+ { value: 40, name: 'rose 1' },
47
+ { value: 33, name: 'rose 2' },
48
+ { value: 28, name: 'rose 3' },
49
+ { value: 22, name: 'rose 4' },
50
+ { value: 20, name: 'rose 5' },
51
+ { value: 15, name: 'rose 6' },
52
+ { value: 12, name: 'rose 7' },
53
+ { value: 10, name: 'rose 8' }
54
+ ],
55
+ 'Rose2': [
56
+ { value: 30, name: 'rose 1' },
57
+ { value: 28, name: 'rose 2' },
58
+ { value: 26, name: 'rose 3' },
59
+ { value: 24, name: 'rose 4' },
60
+ { value: 22, name: 'rose 5' },
61
+ { value: 20, name: 'rose 6' },
62
+ { value: 18, name: 'rose 7' },
63
+ { value: 16, name: 'rose 8' }
64
+ ]
65
+ },
66
+ roseType: 'area',
67
+ radius: [20, 140],
68
+ center: [['75%', '50%'],['25%', '50%']],
69
+ overrides:{
70
+ toolbox: {
71
+ show: true,
72
+ feature: {
73
+ mark: { show: true },
74
+ dataView: { show: true, readOnly: false },
75
+ restore: { show: true },
76
+ saveAsImage: { show: true }
77
+ }
78
+ },
79
+ }
80
+ }
81
+ };
82
+ return getOption;`
83
+ };
84
+
85
+
86
+ const Nested_Pie = {
87
+ code: `const getOption = () => {
88
+ return {
89
+ type: 'pie',
90
+ data: {
91
+ 'Access From 2': [
92
+ { value: 1048, name: 'Baidu' },
93
+ { value: 335, name: 'Direct' },
94
+ { value: 310, name: 'Email' },
95
+ { value: 251, name: 'Google' },
96
+ { value: 234, name: 'Union Ads' },
97
+ { value: 147, name: 'Bing' },
98
+ { value: 135, name: 'Video Ads' },
99
+ { value: 102, name: 'Others' }
100
+ ],
101
+ 'Access From': [
102
+ { value: 1548, name: 'Search Engine' },
103
+ { value: 775, name: 'Direct' },
104
+ { value: 679, name: 'Marketing', selected: true }
105
+ ],
106
+ },
107
+ legend: {
108
+ data: [
109
+ 'Email',
110
+ 'Union Ads',
111
+ 'Video Ads',
112
+ 'Baidu',
113
+ 'Google',
114
+ 'Bing',
115
+ 'Others'
116
+ ],
117
+ orient: 'horizontal',
118
+ },
119
+ radius: [['45%', '60%'],[0, '30%']],
120
+ label: [
121
+ {
122
+ formatter: '{a|{a}}{abg|}\\n{hr|}\\n {b|{b}:}{c} {per|{d}%} ',
123
+ backgroundColor: '#F6F8FC',
124
+ borderColor: '#8C8D8E',
125
+ borderWidth: 1,
126
+ borderRadius: 4,
127
+ rich: {
128
+ a: {
129
+ color: '#6E7079',
130
+ lineHeight: 22,
131
+ align: 'center'
132
+ },
133
+ hr: {
134
+ borderColor: '#8C8D8E',
135
+ width: '100%',
136
+ borderWidth: 1,
137
+ height: 0
138
+ },
139
+ b: {
140
+ color: '#4C5058',
141
+ fontSize: 14,
142
+ fontWeight: 'bold',
143
+ lineHeight: 33
144
+ },
145
+ per: {
146
+ color: '#fff',
147
+ backgroundColor: '#4C5058',
148
+ padding: [3, 4],
149
+ borderRadius: 4
150
+ }
151
+ }
152
+ },
153
+ {
154
+ position: 'inner',
155
+ fontSize: 14
156
+ },
157
+ ]
158
+ }
159
+ };
160
+ return getOption;`
161
+ };
162
+
163
+
164
+
165
+ const ex1 = new $visualify.LiveEditor(Basic_Pie).mount('#ex1');
166
+ const ex2 = new $visualify.LiveEditor(selected_Pie).mount('#ex2');
167
+ const ex3 = new $visualify.LiveEditor(Nightingale).mount('#ex3');
168
+ const ex4 = new $visualify.LiveEditor(Nested_Pie).mount('#ex4');
169
+ </script>
170
+
171
+ # Pie Chart
172
+
173
+ ## Basic Pie Chart
174
+
175
+ <div id="ex1"></div>
176
+
177
+ ## Selected Pie Chart
178
+
179
+ <div id="ex2"></div>
180
+
181
+ ## Nightingale Rose Chart
182
+
183
+ <div id="ex3"></div>
184
+
185
+ ## Nested Pie Chart
186
+
187
+ <div id="ex4"></div>
188
+
189
+ ## Overall Configuration
190
+
191
+ ### Basic Configuration
192
+
193
+ The basic configuration includes:
194
+
195
+ | Attribute | Type | Description | Choice | Default |
196
+ | --------------- | ----------- | ----------------------- | -------------------------- | ------- |
197
+ | title | string | The main title | User-defined title | - |
198
+ | subtitle | string | A secondary title | User-defined subtitle | - |
199
+ | width | string | The width dimension | Any valid CSS width value | - |
200
+ | height | string | The height dimension | Any valid CSS height value | 400px |
201
+ | legend | bool/object | show or hide legend | False, User-defined legend | {} |
202
+ | xAxis | array/false | The xAxis | User-defined xAxis Data | [] |
203
+ | yAxis | array/false | The yAxis | User-defined yAxis Data | [] |
204
+ | label | object | The label | User-defined label | {} |
205
+ | labelLine | object | The labelLine | User-defined labelLine | {} |
206
+ | tooltip | object | The tooltip | User-defined tooltip | {} |
207
+ | xAxisLineshow | bool | show or hide xAxisLines | True, False | true |
208
+ | yAxisLineshow | bool | show or hide yAxisLines | True, False | true |
209
+ | xAxisLabelShow | bool | show or hide xAxisLabel | True, False | true |
210
+ | yAxisLabelShow | bool | show or hide yAxisLabel | True, False | true |
211
+ | xAxisLabelColor | string | The xAxisLabelColor | Any valid CSS color value | - |
212
+ | yAxisLabelColor | string | The yAxisLabelColor | Any valid CSS color value | - |
213
+
214
+ ### Data Configuration
215
+
216
+ | Attribute | Type | Description | Choice | Default |
217
+ | ---------- | --------------------- | --------------------------- | ----------------------------------- | --------- |
218
+ | data | string | The data | User-defined data | {} |
219
+ | type | string/array | The type | 'line', 'bar' | undefined |
220
+ | areaStyle | object | The area style | {},[{color: 'red'},{color: 'blue'}] | {} |
221
+ | stack | string/array | The stack | 'total',['x','y'] | - |
222
+ | percentage | bool | The percentage stacked mode | True, False | false |
223
+ | areaStyle | object | The area style | {},[{color: 'red'},{color: 'blue'}] | {} |
224
+ | radius | array/ array of array | The radius | [20, 140], [[20,140]] | - |
225
+ | center | array/ array of array | The center | ['75%', '50%'], [['75%', '50%']] | - |
File without changes