visualifyjs 2.5.3-2.dev → 2.5.3-9-dev

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of visualifyjs might be problematic. Click here for more details.

Files changed (139) hide show
  1. package/.github/workflows/{static.yml.bak → build.yaml} +51 -51
  2. package/LICENSE +674 -674
  3. package/README.md +40 -58
  4. package/config-overrides.js +31 -31
  5. package/dist/visualify.js +3 -3
  6. package/docs/CLI.md +15 -0
  7. package/docs/{docs/README.md → README.md} +41 -65
  8. package/docs/{docs/Rechart → Rechart}/bar.md +190 -190
  9. package/docs/{docs/Rechart → Rechart}/funnel.md +193 -241
  10. package/docs/{docs/Rechart → Rechart}/line.md +355 -355
  11. package/docs/{docs/Rechart → Rechart}/pie.md +225 -225
  12. package/docs/{docs/Rechart → Rechart}/radar.md +253 -253
  13. package/docs/{docs/_404.md → _404.md} +51 -51
  14. package/docs/{docs/_coverpage.md → _coverpage.md} +11 -11
  15. package/docs/{docs/_sidebar.md → _sidebar.md} +42 -44
  16. package/docs/{docs/components → components}/dotBio.md +34 -34
  17. package/docs/{docs/components → components}/echart.md +82 -82
  18. package/docs/{docs/components → components}/html.md +34 -34
  19. package/docs/{docs/components → components}/macaron.md +145 -145
  20. package/docs/components/markdown.md +0 -0
  21. package/docs/{docs/components → components}/more.md +142 -142
  22. package/docs/{docs/components → components}/plotly.md +62 -62
  23. package/docs/{docs/components → components}/scatterL.md +70 -70
  24. package/docs/{docs/components → components}/visium.md +56 -56
  25. package/docs/{docs/configuration.md → configuration.md} +123 -121
  26. package/docs/{docs/deploy.md → deploy.md} +23 -31
  27. package/docs/index.html +70 -70
  28. package/docs/log.md +1 -0
  29. package/docs/manifest.json +23 -23
  30. package/docs/{docs/more-pages.md → more-pages.md} +23 -23
  31. package/docs/{docs/quickstart.md → quickstart.md} +115 -124
  32. package/docs/{docs/rechart-attributes.md → rechart-attributes.md} +74 -74
  33. package/docs/{docs/rechart-basic-usage.md → rechart-basic-usage.md} +162 -162
  34. package/docs/static/css/fluff-stuff.css +169 -169
  35. package/docs/static/css/font-awesome.min.css +4 -4
  36. package/docs/static/css/visualify.css +25 -25
  37. package/docs/static/js/configuration.js +448 -448
  38. package/docs/static/js/visualify.js +24 -23
  39. package/docs/theme.md +3 -0
  40. package/package.json +74 -83
  41. package/rollup.config.mjs +75 -75
  42. package/src/_css/404.css +115 -115
  43. package/src/_css/App.css +37 -37
  44. package/src/_css/autoSuggestion.css +26 -26
  45. package/src/_css/circular-progress.css +32 -32
  46. package/src/_css/index.css +36 -36
  47. package/src/_css/modern.css +24 -24
  48. package/src/_media/corner.svg +8 -8
  49. package/src/_media/download.svg +3 -3
  50. package/src/_media/logo.svg +14 -14
  51. package/src/_test/App.test.js +15 -15
  52. package/src/_utils/reportWebVitals.js +13 -13
  53. package/src/core/appContext.js +27 -27
  54. package/src/core/components/Scatter.js +188 -188
  55. package/src/core/components/ScatterBio.js +572 -572
  56. package/src/core/components/VisiumPlot.js +165 -165
  57. package/src/core/components/browser.js +42 -42
  58. package/src/core/components/dotplot.js +413 -413
  59. package/src/core/components/html.js +29 -29
  60. package/src/core/components/list.js +178 -178
  61. package/src/core/components/macaron.js +201 -201
  62. package/src/core/components/markdown.js +56 -56
  63. package/src/core/components/parser.scatterBio.js +579 -587
  64. package/src/core/components/ratio.js +80 -80
  65. package/src/core/components/scatterL.js +173 -173
  66. package/src/core/components/searchbar.js +131 -131
  67. package/src/core/components/selection.js +193 -193
  68. package/src/core/components/timeline.js +281 -281
  69. package/src/core/components/visium.js +97 -97
  70. package/src/core/fetch/condfetch.js +82 -82
  71. package/src/core/fetch/fetch.js +92 -92
  72. package/src/core/fetch/json.js +29 -29
  73. package/src/core/fetch/vfetch.js +42 -42
  74. package/src/core/liveEditor.js +44 -44
  75. package/src/core/modules/codeEditorWithPreview.js +104 -104
  76. package/src/core/modules/echarts/common.js +20 -20
  77. package/src/core/modules/echarts/presetHandler.js +41 -41
  78. package/src/core/modules/echarts/presets/esodev.chromium.js +172 -172
  79. package/src/core/modules/echarts/presets/esodev.codex.js +130 -130
  80. package/src/core/modules/echarts/presets/esodev.visium.js +123 -123
  81. package/src/core/modules/echarts/presets/mmtrbc.js +186 -186
  82. package/src/core/modules/echarts.js +71 -71
  83. package/src/core/modules/echartsUtils.js +43 -43
  84. package/src/core/modules/echartswitcher.js +152 -152
  85. package/src/core/modules/replotly/presetHandler.js +24 -24
  86. package/src/core/modules/replotly/presets/minimum.js +18 -18
  87. package/src/core/modules/replotly/presets/mmtrbc.dot.js +114 -114
  88. package/src/core/modules/replotly/presets/mmtrbc.violin.js +100 -100
  89. package/src/core/modules/replotly.js +71 -71
  90. package/src/core/pages/404.js +50 -50
  91. package/src/core/pages/error.js +27 -27
  92. package/src/core/pages/jsonPage.js +62 -62
  93. package/src/core/pages/loading.js +44 -44
  94. package/src/core/parser/echart.data.js +183 -183
  95. package/src/core/parser/echart.features.js +125 -125
  96. package/src/core/parser/echart.general.js +143 -147
  97. package/src/core/parser/echart.hilbert.js +57 -57
  98. package/src/core/parser/echart.parser.js +210 -210
  99. package/src/core/parser/echart.series.js +67 -67
  100. package/src/core/parser/echart.types.js +76 -76
  101. package/src/core/parser/plotly.config.js +10 -10
  102. package/src/core/parser/plotly.data.js +132 -132
  103. package/src/core/parser/plotly.layout.js +9 -9
  104. package/src/core/parser/plotly.violin.js +18 -18
  105. package/src/core/recharts.js +62 -62
  106. package/src/core/router/alias.js +49 -49
  107. package/src/core/router/jsonRouter.js +31 -31
  108. package/src/core/themes/modern.js +32 -32
  109. package/src/core/themes/themeSelector.js +33 -33
  110. package/src/core/visualify.js +47 -47
  111. package/src/core/widgets/circularProgress.js +23 -23
  112. package/src/core/widgets/controller.js +83 -83
  113. package/src/core/widgets/errorBoundary.js +36 -36
  114. package/src/core/widgets/footer.js +177 -177
  115. package/src/core/widgets/header.js +234 -234
  116. package/src/core/widgets/layout/Grid.js +31 -31
  117. package/src/core/widgets/layout.js +36 -36
  118. package/src/core/widgets/mapping.js +42 -42
  119. package/src/index.js +62 -62
  120. package/src/setupTests.js +5 -5
  121. package/docs/docs/CLI.md +0 -34
  122. package/docs/docs/Rechart/scatter.md +0 -298
  123. package/docs/docs/log.md +0 -9
  124. package/docs/docs/static/logo/favicon.ico +0 -0
  125. package/docs/docs/static/logo/logo_128x128.png +0 -0
  126. package/docs/docs/static/logo/logo_192x192.png +0 -0
  127. package/docs/docs/static/logo/logo_256x256.png +0 -0
  128. package/docs/docs/static/logo/logo_512x512.png +0 -0
  129. package/docs/docs/static/logo/logo_64x64.png +0 -0
  130. package/docs/docs/theme.md +0 -5
  131. /package/docs/{docs/Rechart → Rechart}/geo.md +0 -0
  132. /package/docs/{docs/Rechart → Rechart}/liquidfill.md +0 -0
  133. /package/docs/{docs/Rechart → Rechart}/polar.md +0 -0
  134. /package/docs/{docs/Rechart → Rechart}/sankey.md +0 -0
  135. /package/docs/{docs/Rechart/sunburst.md → Rechart/scatter.md} +0 -0
  136. /package/docs/{docs/Rechart/tree.md → Rechart/sunburst.md} +0 -0
  137. /package/docs/{docs/Rechart/wordcloud.md → Rechart/tree.md} +0 -0
  138. /package/docs/{docs/components/markdown.md → Rechart/wordcloud.md} +0 -0
  139. /package/docs/{docs/static → static}/_images/deploy-github-pages.png +0 -0
package/docs/CLI.md ADDED
@@ -0,0 +1,15 @@
1
+ # CLI tools for Visualify
2
+
3
+ ## Installation
4
+
5
+ ```bash
6
+ npm install -g @visualify/cli
7
+ ```
8
+
9
+ ## Usage
10
+
11
+ ```bash
12
+ visualify --help
13
+ ```
14
+
15
+ ## Commands
@@ -1,65 +1,41 @@
1
- ## Visualify
2
-
3
- > The magical data portal generator
4
- >
5
- > Best mate for [Docsify](https://docsify.js.org/) to be deployed on GitHub
6
- > Pages
7
-
8
- ## What it is
9
-
10
- Visualify takes the complexity out of generating data portal websites, which is
11
- inspired by [docsify](https://docsify.js.org/). Forget about manually writing
12
- React components or generating static HTML files. Visualify smartly loads and
13
- parses your configuration and data API, allowing you to provide the information
14
- directly in a JavaScript file. The result? Your data is beautifully displayed
15
- and visualized as a website, all with minimal effort on your part.
16
-
17
- To get started, simply create an `index.html` file and deploy it on GitHub Pages
18
- or your personal server.
19
-
20
- Here is the [Quick Start](quickstart.md) guide, which providing detailed
21
- instructions to help you begin.
22
-
23
- ## Pages Mode Vs. Reacharts Mode
24
-
25
- Visualify supports two modes: `pages` and `reacharts`. The `pages` mode is
26
- designed for creating a data portal website as the front router, while the
27
- `reacharts` mode is designed for creating a single page with multiple plots. The
28
- `reacharts` mode is the best mate for [Docsify](https://docsify.js.org/) to show
29
- the plots of your data.
30
-
31
- Pages mode will be the default mode if you don't specify the mode in the
32
- configuration. You can specify the mode in the configuration file by setting the
33
- `mode` field to `pages` or `reacharts`.
34
-
35
- ```json
36
- {
37
- "mode": "pages"
38
- }
39
- ```
40
-
41
- ## Features
42
-
43
- - **No Manual React Components**: Automatically handles the creation of React
44
- components without the need for manual coding.
45
- - **Smart Configuration and Data Parsing**: Loads and parses your
46
- configuration and data API, even if provided directly in a JavaScript file.
47
- - **Dynamic Website Visualization**: Transforms your data into a visually
48
- appealing website on the fly.
49
- - **Easy Deployment**: Just create an `index.html` file with `*.json`
50
- configuration and deploy it on GitHub Pages or your personal server.
51
- - **Best Mate for Docsify**: Visualify is the best mate for
52
- [Docsify](https://docsify.js.org/) to show the plots of your data.
53
-
54
- ## Showcases
55
-
56
- - [MmTrBC](https://visualify.pharmacy.arizona.edu/MmTrBC/): Zhou, Yizhuo, Ying
57
- Yang, Lihao Guo, Jun Qian, Jian Ge, Debora Sinner, Hongxu Ding, Andrea
58
- Califano, and Wellington V. Cardoso. "Airway basal cells show regionally
59
- distinct potential to undergo metaplastic differentiation." Elife 11 (2022):
60
- e80083.
61
- - [EsoDev](https://visualify.pharmacy.arizona.edu/EsoDev/): Yang, Ying, Carmel
62
- Grace McCullough, Lucas Seninge, Lihao Guo, Woo-Joo Kwon, Yongchun Z. Zhang,
63
- Nancy Yanzhe Li et al. "A Spatiotemporal and Machine-Learning Platform
64
- Accelerates the Manufacturing of hPSC-derived Esophageal Mucosa." bioRxiv
65
- (2023): 2023-10.
1
+ ## Visualify
2
+
3
+ > The magical data portal generator
4
+ >
5
+ > Best mate for [Docsify](https://docsify.js.org/) to be deployed on GitHub
6
+ > Pages
7
+
8
+ ## What it is
9
+
10
+ Visualify takes the complexity out of generating data portal websites, which is
11
+ inspired by [docsify](https://docsify.js.org/). Forget about manually writing
12
+ React components or generating static HTML files. Visualify smartly loads and
13
+ parses your configuration and data API, allowing you to provide the information
14
+ directly in a JavaScript file. The result? Your data is beautifully displayed
15
+ and visualized as a website, all with minimal effort on your part.
16
+
17
+ To get started, simply create an `index.html` file and deploy it on GitHub Pages
18
+ or your personal server.
19
+
20
+ Here is the [Quick Start](quickstart) guide, which providing detailed
21
+ instructions to help you begin.
22
+
23
+ ## Features
24
+
25
+ - **No Manual React Components**: Automatically handles the creation of React
26
+ components without the need for manual coding.
27
+ - **Smart Configuration and Data Parsing**: Loads and parses your
28
+ configuration and data API, even if provided directly in a JavaScript file.
29
+ - **Dynamic Website Visualization**: Transforms your data into a visually
30
+ appealing website on the fly.
31
+ - **Easy Deployment**: Just create an `index.html` file with `*.json`
32
+ configuration and deploy it on GitHub Pages or your personal server.
33
+ - **Best Mate for Docsify**: Visualify is the best mate for
34
+ [Docsify](https://docsify.js.org/) to show the plots of your data.
35
+
36
+ ## Showcases
37
+
38
+ - [MmTrBC](https://visualify.pharmacy.arizona.edu/MmTrBC/): Zhou, Yizhuo, Ying Yang, Lihao Guo, Jun Qian, Jian Ge, Debora Sinner, Hongxu Ding, Andrea Califano, and Wellington V. Cardoso. "Airway basal cells show regionally distinct potential to undergo metaplastic differentiation." Elife 11 (2022): e80083.
39
+ - [EsoDev](https://visualify.pharmacy.arizona.edu/EsoDev/): Yang, Ying, Carmel Grace McCullough, Lucas Seninge, Lihao Guo, Woo-Joo Kwon, Yongchun Z. Zhang, Nancy Yanzhe Li et al. "A Spatiotemporal and Machine-Learning Platform Accelerates the Manufacturing of hPSC-derived Esophageal Mucosa." bioRxiv (2023): 2023-10.
40
+
41
+
@@ -1,190 +1,190 @@
1
- <script defers>
2
-
3
- const Basic_Bar = {
4
- code: `const getOption = () => {
5
- return {
6
- type: 'bar',
7
- data: {
8
- 'PV': [256, 767, 1356, 2087, 803, 582, 432],
9
- },
10
- xAxis: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
11
- }
12
- };
13
- return getOption;`
14
- };
15
-
16
- const Group_Bar = {
17
- code: `const getOption = () => {
18
- return {
19
- type: 'bar',
20
- data: {
21
- 'PV': [256, 767, 1356, 2087, 803, 582, 432],
22
- 'UV': [287, 707, 1756, 1822, 987, 432, 322],
23
- },
24
- xAxis: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
25
- }
26
- };
27
- return getOption;`
28
- };
29
-
30
- const Stacked_Bar = {
31
- code: `const getOption = () => {
32
- return {
33
- type: 'bar',
34
- data: {
35
- 'PV': [256, 767, 1356, 2087, 803, 582, 432],
36
- 'UV': [287, 707, 1756, 1822, 987, 432, 322],
37
- },
38
- xAxis: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
39
- areaStyle: [{color: 'red'}, {color: 'blue'}],
40
- stack: [ 'PV', 'UV' ],
41
- }
42
- };
43
- return getOption;`
44
- };
45
-
46
-
47
- const Percentage_Stacked_Bar = {
48
- code: `const getOption = () => {
49
- return {
50
- type: 'bar',
51
- data: {
52
- 'PV': [256, 767, 1356, 2087, 803, 582, 432],
53
- 'UV': [287, 707, 1756, 1822, 987, 432, 322],
54
- },
55
- xAxis: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
56
- percentage: true,
57
- }
58
- };
59
- return getOption;`
60
- };
61
-
62
- const Stacked_Horizontal_Bar = {
63
- code: `const getOption = () => {
64
- return {
65
- type: 'bar',
66
- data: {
67
- 'PV': [256, 767, 1356, 2087, 803, 582, 432],
68
- 'UV': [287, 707, 1756, 1822, 987, 432, 322].reverse(),
69
- },
70
- yAxis: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
71
- stack: [ 'PV', 'UV' ],
72
- }
73
- };
74
- return getOption;`
75
- };
76
-
77
- const waterfall = {
78
- code: `const getOption = () => {
79
- return {
80
- type: 'bar',
81
- data: {
82
- 'Placeholder': [0, 1700, 1400, 1200, 300, 0],
83
- 'Life Cost': [2900, 1200, 300, 200, 900, 300],
84
- },
85
- xAxis: ['Total', 'Rent', 'Utility', 'Transport', 'Meals', 'Other'],
86
- stack: 'total',
87
- waterfall: true,
88
- }
89
- };
90
- return getOption;`
91
- };
92
-
93
- const Basic_Area_bar = {
94
- code: `const getOption = () => {
95
- return {
96
- title: 'Daily Electricity Usage',
97
- type: 'bar',
98
- data: {
99
- 'usage': [300, 280, 250, 260, 270, 300, 550, 500, 400, 390, 380, 390, 400, 500, 600, 750, 800, 700, 600, 400],
100
- 'usage2': [125, 280, 223, 260, 270, 300, 550, 343, 400, 390, 553, 213, 400, 223, 123, 750, 321, 123, 542, 135],
101
- },
102
- 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'],
103
- markArea: [
104
- {
105
- 'xAxis': [{start:'06:15', end:'08:45', name: "High Demanding Period"}],
106
- 'yAxis': {start: 400, end: 600},
107
- },
108
- {
109
- 'xAxis': [{start:'00:00', end:'02:30', name: "Low Demanding Period"}, {start:'05:00',end:'06:15'}],
110
- 'data': [[{ name: 'avg to max', type: 'average'},{ type: 'max' }]],
111
- }
112
- ],
113
- }
114
- };
115
- return getOption;`};
116
-
117
- const ex1 = new $visualify.LiveEditor(Basic_Bar).mount('#ex1');
118
- const ex2 = new $visualify.LiveEditor(Group_Bar).mount('#ex2');
119
- const ex3 = new $visualify.LiveEditor(Stacked_Bar).mount('#ex3');
120
- const ex4 = new $visualify.LiveEditor(Percentage_Stacked_Bar).mount('#ex4');
121
- const ex5 = new $visualify.LiveEditor(Stacked_Horizontal_Bar).mount('#ex5');
122
- const ex6 = new $visualify.LiveEditor(waterfall).mount('#ex6');
123
- const ex7 = new $visualify.LiveEditor(Basic_Area_bar).mount('#ex7');
124
- </script>
125
-
126
- # Line Chart
127
-
128
- ## Basic Bar Chart
129
-
130
- <div id="ex1"></div>
131
-
132
- ## Group Bar Chart
133
-
134
- <div id="ex2"></div>
135
-
136
- ## Stacked Bar Chart
137
-
138
- <div id="ex3"></div>
139
-
140
- ## Percentage Stacked Bar Chart
141
-
142
- <div id="ex4"></div>
143
-
144
- ## Stacked Horizontal Bar Chart
145
-
146
- <div id="ex5"></div>
147
-
148
- ## Waterfall Chart
149
-
150
- <div id="ex6"></div>
151
-
152
- ## Basic Area Bar Chart
153
-
154
- <div id="ex7"></div>
155
-
156
- ## Overall Configuration
157
-
158
- ### Basic Configuration
159
-
160
- The basic configuration includes:
161
-
162
- | Attribute | Type | Description | Choice | Default |
163
- | --------------- | ----------- | ----------------------- | -------------------------- | ------- |
164
- | title | string | The main title | User-defined title | - |
165
- | subtitle | string | A secondary title | User-defined subtitle | - |
166
- | width | string | The width dimension | Any valid CSS width value | - |
167
- | height | string | The height dimension | Any valid CSS height value | 400px |
168
- | legend | bool/object | show or hide legend | False, User-defined legend | {} |
169
- | xAxis | array/false | The xAxis | User-defined xAxis Data | [] |
170
- | yAxis | array/false | The yAxis | User-defined yAxis Data | [] |
171
- | label | object | The label | User-defined label | {} |
172
- | labelLine | object | The labelLine | User-defined labelLine | {} |
173
- | tooltip | object | The tooltip | User-defined tooltip | {} |
174
- | xAxisLineshow | bool | show or hide xAxisLines | True, False | true |
175
- | yAxisLineshow | bool | show or hide yAxisLines | True, False | true |
176
- | xAxisLabelShow | bool | show or hide xAxisLabel | True, False | true |
177
- | yAxisLabelShow | bool | show or hide yAxisLabel | True, False | true |
178
- | xAxisLabelColor | string | The xAxisLabelColor | Any valid CSS color value | - |
179
- | yAxisLabelColor | string | The yAxisLabelColor | Any valid CSS color value | - |
180
-
181
- ### Data Configuration
182
-
183
- | Attribute | Type | Description | Choice | Default |
184
- | ---------- | ------------ | --------------------------- | ----------------------------------- | --------- |
185
- | data | string | The data | User-defined data | {} |
186
- | type | string/array | The type | 'line', 'bar' | undefined |
187
- | areaStyle | object | The area style | {},[{color: 'red'},{color: 'blue'}] | {} |
188
- | stack | string/array | The stack | 'total',['x','y'] | - |
189
- | percentage | bool | The percentage stacked mode | True, False | false |
190
- | areaStyle | object | The area style | {},[{color: 'red'},{color: 'blue'}] | {} |
1
+ <script defers>
2
+
3
+ const Basic_Bar = {
4
+ code: `const getOption = () => {
5
+ return {
6
+ type: 'bar',
7
+ data: {
8
+ 'PV': [256, 767, 1356, 2087, 803, 582, 432],
9
+ },
10
+ xAxis: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
11
+ }
12
+ };
13
+ return getOption;`
14
+ };
15
+
16
+ const Group_Bar = {
17
+ code: `const getOption = () => {
18
+ return {
19
+ type: 'bar',
20
+ data: {
21
+ 'PV': [256, 767, 1356, 2087, 803, 582, 432],
22
+ 'UV': [287, 707, 1756, 1822, 987, 432, 322],
23
+ },
24
+ xAxis: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
25
+ }
26
+ };
27
+ return getOption;`
28
+ };
29
+
30
+ const Stacked_Bar = {
31
+ code: `const getOption = () => {
32
+ return {
33
+ type: 'bar',
34
+ data: {
35
+ 'PV': [256, 767, 1356, 2087, 803, 582, 432],
36
+ 'UV': [287, 707, 1756, 1822, 987, 432, 322],
37
+ },
38
+ xAxis: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
39
+ areaStyle: [{color: 'red'}, {color: 'blue'}],
40
+ stack: [ 'PV', 'UV' ],
41
+ }
42
+ };
43
+ return getOption;`
44
+ };
45
+
46
+
47
+ const Percentage_Stacked_Bar = {
48
+ code: `const getOption = () => {
49
+ return {
50
+ type: 'bar',
51
+ data: {
52
+ 'PV': [256, 767, 1356, 2087, 803, 582, 432],
53
+ 'UV': [287, 707, 1756, 1822, 987, 432, 322],
54
+ },
55
+ xAxis: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
56
+ percentage: true,
57
+ }
58
+ };
59
+ return getOption;`
60
+ };
61
+
62
+ const Stacked_Horizontal_Bar = {
63
+ code: `const getOption = () => {
64
+ return {
65
+ type: 'bar',
66
+ data: {
67
+ 'PV': [256, 767, 1356, 2087, 803, 582, 432],
68
+ 'UV': [287, 707, 1756, 1822, 987, 432, 322].reverse(),
69
+ },
70
+ yAxis: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
71
+ stack: [ 'PV', 'UV' ],
72
+ }
73
+ };
74
+ return getOption;`
75
+ };
76
+
77
+ const waterfall = {
78
+ code: `const getOption = () => {
79
+ return {
80
+ type: 'bar',
81
+ data: {
82
+ 'Placeholder': [0, 1700, 1400, 1200, 300, 0],
83
+ 'Life Cost': [2900, 1200, 300, 200, 900, 300],
84
+ },
85
+ xAxis: ['Total', 'Rent', 'Utility', 'Transport', 'Meals', 'Other'],
86
+ stack: 'total',
87
+ waterfall: true,
88
+ }
89
+ };
90
+ return getOption;`
91
+ };
92
+
93
+ const Basic_Area_bar = {
94
+ code: `const getOption = () => {
95
+ return {
96
+ title: 'Daily Electricity Usage',
97
+ type: 'bar',
98
+ data: {
99
+ 'usage': [300, 280, 250, 260, 270, 300, 550, 500, 400, 390, 380, 390, 400, 500, 600, 750, 800, 700, 600, 400],
100
+ 'usage2': [125, 280, 223, 260, 270, 300, 550, 343, 400, 390, 553, 213, 400, 223, 123, 750, 321, 123, 542, 135],
101
+ },
102
+ 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'],
103
+ markArea: [
104
+ {
105
+ 'xAxis': [{start:'06:15', end:'08:45', name: "High Demanding Period"}],
106
+ 'yAxis': {start: 400, end: 600},
107
+ },
108
+ {
109
+ 'xAxis': [{start:'00:00', end:'02:30', name: "Low Demanding Period"}, {start:'05:00',end:'06:15'}],
110
+ 'data': [[{ name: 'avg to max', type: 'average'},{ type: 'max' }]],
111
+ }
112
+ ],
113
+ }
114
+ };
115
+ return getOption;`};
116
+
117
+ const ex1 = new $visualify.LiveEditor(Basic_Bar).mount('#ex1');
118
+ const ex2 = new $visualify.LiveEditor(Group_Bar).mount('#ex2');
119
+ const ex3 = new $visualify.LiveEditor(Stacked_Bar).mount('#ex3');
120
+ const ex4 = new $visualify.LiveEditor(Percentage_Stacked_Bar).mount('#ex4');
121
+ const ex5 = new $visualify.LiveEditor(Stacked_Horizontal_Bar).mount('#ex5');
122
+ const ex6 = new $visualify.LiveEditor(waterfall).mount('#ex6');
123
+ const ex7 = new $visualify.LiveEditor(Basic_Area_bar).mount('#ex7');
124
+ </script>
125
+
126
+ # Line Chart
127
+
128
+ ## Basic Bar Chart
129
+
130
+ <div id="ex1"></div>
131
+
132
+ ## Group Bar Chart
133
+
134
+ <div id="ex2"></div>
135
+
136
+ ## Stacked Bar Chart
137
+
138
+ <div id="ex3"></div>
139
+
140
+ ## Percentage Stacked Bar Chart
141
+
142
+ <div id="ex4"></div>
143
+
144
+ ## Stacked Horizontal Bar Chart
145
+
146
+ <div id="ex5"></div>
147
+
148
+ ## Waterfall Chart
149
+
150
+ <div id="ex6"></div>
151
+
152
+ ## Basic Area Bar Chart
153
+
154
+ <div id="ex7"></div>
155
+
156
+ ## Overall Configuration
157
+
158
+ ### Basic Configuration
159
+
160
+ The basic configuration includes:
161
+
162
+ | Attribute | Type | Description | Choice | Default |
163
+ | --------------- | ----------- | ----------------------- | -------------------------- | ------- |
164
+ | title | string | The main title | User-defined title | - |
165
+ | subtitle | string | A secondary title | User-defined subtitle | - |
166
+ | width | string | The width dimension | Any valid CSS width value | - |
167
+ | height | string | The height dimension | Any valid CSS height value | 400px |
168
+ | legend | bool/object | show or hide legend | False, User-defined legend | {} |
169
+ | xAxis | array/false | The xAxis | User-defined xAxis Data | [] |
170
+ | yAxis | array/false | The yAxis | User-defined yAxis Data | [] |
171
+ | label | object | The label | User-defined label | {} |
172
+ | labelLine | object | The labelLine | User-defined labelLine | {} |
173
+ | tooltip | object | The tooltip | User-defined tooltip | {} |
174
+ | xAxisLineshow | bool | show or hide xAxisLines | True, False | true |
175
+ | yAxisLineshow | bool | show or hide yAxisLines | True, False | true |
176
+ | xAxisLabelShow | bool | show or hide xAxisLabel | True, False | true |
177
+ | yAxisLabelShow | bool | show or hide yAxisLabel | True, False | true |
178
+ | xAxisLabelColor | string | The xAxisLabelColor | Any valid CSS color value | - |
179
+ | yAxisLabelColor | string | The yAxisLabelColor | Any valid CSS color value | - |
180
+
181
+ ### Data Configuration
182
+
183
+ | Attribute | Type | Description | Choice | Default |
184
+ | ---------- | ------------ | --------------------------- | ----------------------------------- | --------- |
185
+ | data | string | The data | User-defined data | {} |
186
+ | type | string/array | The type | 'line', 'bar' | undefined |
187
+ | areaStyle | object | The area style | {},[{color: 'red'},{color: 'blue'}] | {} |
188
+ | stack | string/array | The stack | 'total',['x','y'] | - |
189
+ | percentage | bool | The percentage stacked mode | True, False | false |
190
+ | areaStyle | object | The area style | {},[{color: 'red'},{color: 'blue'}] | {} |