You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@echarts.apache.org by sh...@apache.org on 2021/09/10 02:49:53 UTC
[echarts-examples] 01/15: compile ts to js files
This is an automated email from the ASF dual-hosted git repository.
shenyi pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/echarts-examples.git
commit 424edd89bb70f7bc4ff887498c478ed04adecad5
Author: pissang <bm...@gmail.com>
AuthorDate: Mon Sep 6 12:35:21 2021 +0800
compile ts to js files
---
README.md | 8 +-
_config.yml | 2 -
package-lock.json | 196 ++-
package.json | 6 +-
public/data/area-basic.js | 22 -
public/data/area-pieces.js | 66 -
public/data/area-rainfall.js | 188 ---
public/data/area-simple.js | 78 --
public/data/area-stack-gradient.js | 174 ---
public/data/area-stack.js | 103 --
public/data/area-time-axis.js | 67 -
public/data/bar-animation-delay.js | 70 --
public/data/bar-background.js | 24 -
public/data/bar-brush.js | 114 --
public/data/bar-data-color.js | 25 -
public/data/bar-drilldown.js | 99 --
public/data/bar-gradient.js | 96 --
public/data/bar-histogram.js | 126 --
public/data/bar-label-rotation.js | 166 ---
public/data/bar-large.js | 93 --
public/data/bar-negative.js | 77 --
public/data/bar-negative2.js | 66 -
public/data/bar-polar-label-radial.js | 30 -
public/data/bar-polar-label-tangential.js | 30 -
public/data/bar-polar-real-estate.js | 101 --
public/data/bar-polar-stack-radial.js | 49 -
public/data/bar-polar-stack.js | 50 -
public/data/bar-race-country.js | 142 ---
public/data/bar-race.js | 65 -
public/data/bar-rich-text.js | 151 ---
public/data/bar-simple.js | 20 -
public/data/bar-stack.js | 125 --
public/data/bar-tick-align.js | 43 -
public/data/bar-waterfall.js | 66 -
public/data/bar-waterfall2.js | 91 --
public/data/bar-y-category-stack.js | 92 --
public/data/bar-y-category.js | 48 -
public/data/bar1.js | 74 --
public/data/boxplot-light-velocity.js | 84 --
public/data/boxplot-light-velocity2.js | 87 --
public/data/boxplot-multi.js | 106 --
public/data/bubble-gradient.js | 109 --
public/data/calendar-charts.js | 193 ---
public/data/calendar-effectscatter.js | 167 ---
public/data/calendar-graph.js | 126 --
public/data/calendar-heatmap.js | 54 -
public/data/calendar-horizontal.js | 72 --
public/data/calendar-lunar.js | 468 -------
public/data/calendar-pie.js | 116 --
public/data/calendar-simple.js | 37 -
public/data/calendar-vertical.js | 78 --
public/data/candlestick-brush.js | 264 ----
public/data/candlestick-large.js | 208 ----
public/data/candlestick-sh-2015.js | 134 --
public/data/candlestick-sh.js | 324 -----
public/data/candlestick-simple.js | 22 -
public/data/candlestick-touch.js | 245 ----
public/data/circle-packing-with-d3.js | 219 ----
public/data/confidence-band.js | 113 --
public/data/covid-america.js | 404 ------
public/data/custom-bar-trend.js | 115 --
public/data/custom-calendar-icon.js | 119 --
public/data/data-transform-filter.js | 81 --
public/data/data-transform-multiple-pie.js | 80 --
public/data/data-transform-sort-bar.js | 38 -
public/data/dataset-default.js | 50 -
public/data/dataset-encode0.js | 49 -
public/data/dataset-encode1.js | 98 --
public/data/dataset-link.js | 73 --
public/data/dataset-series-layout-by.js | 42 -
public/data/dataset-simple0.js | 29 -
public/data/dataset-simple1.js | 29 -
public/data/dynamic-data.js | 132 --
public/data/dynamic-data2.js | 77 --
public/data/effectScatter-bmap.js | 575 ---------
public/data/effectScatter-map.js | 503 --------
public/data/funnel-align.js | 114 --
public/data/funnel-customize.js | 88 --
public/data/funnel-mutiple.js | 103 --
public/data/funnel.js | 72 --
public/data/gauge-barometer.js | 122 --
public/data/gauge-car.js | 575 ---------
public/data/gauge-clock.js | 230 ----
public/data/gauge-grade.js | 88 --
public/data/gauge-multi-title.js | 85 --
public/data/gauge-progress.js | 93 --
public/data/gauge-ring.js | 102 --
public/data/gauge-simple.js | 29 -
public/data/gauge-speed.js | 55 -
public/data/gauge-stage.js | 61 -
public/data/gauge-temperature.js | 125 --
public/data/gauge.js | 23 -
public/data/geo-beef-cuts.js | 74 --
public/data/geo-seatmap-flight.js | 93 --
public/data/geo-svg-lines.js | 84 --
public/data/geo-svg-map.js | 202 ---
public/data/geo-svg-scatter-simple.js | 54 -
public/data/geo-svg-traffic.js | 167 ---
public/data/graph-circular-layout.js | 59 -
public/data/graph-force-dynamic.js | 57 -
public/data/graph-force.js | 48 -
public/data/graph-force2.js | 64 -
public/data/graph-grid.js | 50 -
public/data/graph-label-overlap.js | 49 -
public/data/graph-life-expectancy.js | 103 --
public/data/graph-npm.js | 54 -
public/data/graph-simple.js | 87 --
public/data/graph-webkit-dep.js | 43 -
public/data/graph.js | 61 -
public/data/grid-multiple.js | 174 ---
public/data/heatmap-cartesian.js | 65 -
public/data/line-aqi.js | 99 --
public/data/line-draggable.js | 139 ---
public/data/line-easing.js | 233 ----
public/data/line-function.js | 72 --
public/data/line-gradient.js | 74 --
public/data/line-graphic.js | 125 --
public/data/line-in-cartesian-coordinate-system.js | 15 -
public/data/line-log.js | 57 -
public/data/line-marker.js | 88 --
public/data/line-markline.js | 78 --
public/data/line-pen.js | 73 --
public/data/line-polar.js | 42 -
public/data/line-polar2.js | 47 -
public/data/line-race.js | 90 --
public/data/line-sections.js | 86 --
public/data/line-simple.js | 20 -
public/data/line-smooth.js | 21 -
public/data/line-stack.js | 69 --
public/data/line-step.js | 56 -
public/data/line-style.js | 32 -
public/data/line-tooltip-touch.js | 151 ---
public/data/line-y-category.js | 53 -
public/data/lines-airline.js | 64 -
public/data/lines-bmap-bus.js | 148 ---
public/data/lines-bmap-effect.js | 195 ---
public/data/lines-bmap.js | 133 --
public/data/lines-ny.js | 91 --
public/data/map-HK.js | 98 --
public/data/map-bar-morph.js | 147 ---
public/data/map-usa.js | 137 ---
public/data/mix-line-bar.js | 78 --
public/data/mix-zoom-on-value.js | 101 --
public/data/multiple-x-axis.js | 96 --
public/data/multiple-y-axis.js | 111 --
public/data/parallel-aqi.js | 224 ----
public/data/parallel-nutrients.js | 186 ---
public/data/parallel-simple.js | 31 -
public/data/pictorialBar-bar-transition.js | 144 ---
public/data/pictorialBar-body-fill.js | 146 ---
public/data/pictorialBar-dotted.js | 111 --
public/data/pictorialBar-forest.js | 111 --
public/data/pictorialBar-hill.js | 113 --
public/data/pictorialBar-spirit.js | 114 --
public/data/pictorialBar-vehicle.js | 113 --
public/data/pictorialBar-velocity.js | 100 --
public/data/pie-alignTo.js | 94 --
public/data/pie-borderRadius.js | 50 -
public/data/pie-custom.js | 70 --
public/data/pie-doughnut.js | 45 -
public/data/pie-labelLine-adjust.js | 95 --
public/data/pie-legend.js | 81 --
public/data/pie-nest.js | 87 --
public/data/pie-parliament-transition.js | 141 ---
public/data/pie-pattern.js | 63 -
public/data/pie-rich-text.js | 135 ---
public/data/pie-roseType-simple.js | 44 -
public/data/pie-roseType.js | 82 --
public/data/pie-simple.js | 42 -
public/data/polar-roundCap.js | 49 -
public/data/radar-aqi.js | 222 ----
public/data/radar-custom.js | 138 ---
public/data/radar-multiple.js | 97 --
public/data/radar.js | 40 -
public/data/radar2.js | 73 --
public/data/sankey-energy.js | 35 -
public/data/sankey-itemstyle.js | 1281 --------------------
public/data/sankey-levels.js | 71 --
public/data/sankey-nodeAlign-left.js | 37 -
public/data/sankey-nodeAlign-right.js | 38 -
public/data/sankey-simple.js | 54 -
public/data/sankey-vertical.js | 47 -
public/data/scatter-aggregate-bar.js | 187 ---
public/data/scatter-anscombe-quartet.js | 145 ---
public/data/scatter-aqi-color.js | 261 ----
public/data/scatter-clustering.js | 131 --
public/data/scatter-effect.js | 78 --
public/data/scatter-exponential-regression.js | 84 --
public/data/scatter-label-align-right.js | 57 -
public/data/scatter-label-align-top.js | 51 -
public/data/scatter-large.js | 74 --
public/data/scatter-linear-regression.js | 267 ----
public/data/scatter-logarithmic-regression.js | 133 --
public/data/scatter-map-brush.js | 652 ----------
public/data/scatter-matrix.js | 300 -----
public/data/scatter-nebula.js | 76 --
public/data/scatter-nutrients-matrix.js | 422 -------
public/data/scatter-nutrients.js | 177 ---
public/data/scatter-painter-choice.js | 61 -
public/data/scatter-polar-punchCard.js | 65 -
public/data/scatter-polynomial-regression.js | 84 --
public/data/scatter-punchCard.js | 70 --
public/data/scatter-simple.js | 39 -
public/data/scatter-single-axis.js | 56 -
public/data/scatter-stream-visual.js | 60 -
public/data/scatter-symbol-morph.js | 133 --
public/data/scatter-weibo.js | 103 --
public/data/scatter-weight.js | 264 ----
public/data/sunburst-borderRadius.js | 65 -
public/data/sunburst-drink.js | 723 -----------
public/data/sunburst-label-rotate.js | 95 --
public/data/sunburst-monochrome.js | 175 ---
public/data/sunburst-simple.js | 64 -
public/data/sunburst-visualMap.js | 94 --
public/data/themeRiver-basic.js | 100 --
public/data/themeRiver-lastfm.js | 80 --
public/data/tree-basic.js | 58 -
public/data/tree-legend.js | 260 ----
public/data/tree-orient-bottom-top.js | 59 -
public/data/tree-orient-right-left.js | 64 -
public/data/tree-polyline.js | 179 ---
public/data/tree-radial.js | 41 -
public/data/tree-vertical.js | 54 -
public/data/treemap-disk.js | 87 --
public/data/treemap-drill-down.js | 85 --
public/data/treemap-obama.js | 226 ----
public/data/treemap-show-parent.js | 103 --
public/data/treemap-simple.js | 33 -
public/data/treemap-sunburst-transition.js | 56 -
public/data/treemap-visual.js | 144 ---
public/data/watermark.js | 218 ----
public/data/wind-barb.js | 272 -----
public/examples/ts/README.md | 3 +
.../ts}/archive/custom-aggregate-scatter-bar.js | 0
.../archive/custom-aggregate-scatter-cluster.js | 0
.../ts}/archive/custom-aggregate-scatter-pie.js | 0
.../ts}/archive/custom-combine-separate-morph.js | 0
.../ts}/archive/custom-one-to-one-morph.js | 0
.../ts}/archive/custom-story-transition.js | 0
.../ts}/custom-cartesian-polygon.js | 0
public/{data => examples/ts}/custom-error-bar.js | 0
.../{data => examples/ts}/custom-error-scatter.js | 0
.../{data => examples/ts}/custom-gantt-flight.js | 0
public/{data => examples/ts}/custom-gauge.js | 0
public/{data => examples/ts}/custom-hexbin.js | 0
public/{data => examples/ts}/custom-ohlc.js | 0
.../{data => examples/ts}/custom-polar-heatmap.js | 0
public/{data => examples/ts}/custom-profile.js | 0
public/{data => examples/ts}/custom-profit.js | 0
public/{data => examples/ts}/custom-spiral-race.js | 0
public/{data => examples/ts}/custom-wind.js | 0
public/{data => examples/ts}/cycle-plot.js | 0
.../ts}/data-transform-aggregate.js | 0
.../ts}/doc-example/aria-decal-newspaper.js | 0
.../ts}/doc-example/aria-decal-simple.js | 0
.../ts}/doc-example/aria-decal.js | 0
.../{data => examples/ts}/doc-example/aria-pie.js | 0
.../ts}/doc-example/axisPointer-handle-image.js | 0
.../ts}/doc-example/bar-dataZoom-filterMode.js | 0
.../{data => examples/ts}/doc-example/bar-large.js | 0
.../ts}/doc-example/bar-media-timeline.js | 0
.../ts}/doc-example/barGrid-barGap.js | 0
.../ts}/doc-example/candlestick-axisPointer.js | 0
.../ts}/doc-example/canvas-vs-svg-en.js | 0
.../ts}/doc-example/canvas-vs-svg.js | 0
.../ts}/doc-example/custom-transition-simple.js | 0
.../data-transform-multiple-sort-bar.js | 0
.../ts}/doc-example/dataset-encode-simple0.js | 2 +-
.../ts}/doc-example/geo-svg-label-basic.js | 0
.../ts}/doc-example/geo-svg-layout-basic.js | 0
.../ts}/doc-example/geo-svg-named-basic.js | 0
.../ts}/doc-example/getting-started.js | 0
.../ts}/doc-example/graphic-bounding.js | 0
.../ts}/doc-example/label-position.js | 0
.../ts}/doc-example/line-stack-tiled.js | 0
.../ts}/doc-example/map-example.js | 0
.../doc-example/map-visualMap-continuous-text.js | 0
.../ts}/doc-example/map-visualMap-continuous.js | 0
.../ts}/doc-example/map-visualMap-pieces.js | 0
.../doc-example/map-visualMap-piecewise-text.js | 0
.../ts}/doc-example/mix-timeline-all.js | 0
.../ts}/doc-example/parallel-all.js | 0
.../ts}/doc-example/pictorialBar-clip.js | 0
.../ts}/doc-example/pictorialBar-graphicType.js | 0
.../ts}/doc-example/pictorialBar-patternSize.js | 0
.../ts}/doc-example/pictorialBar-position.js | 0
.../ts}/doc-example/pictorialBar-repeat.js | 0
.../doc-example/pictorialBar-repeatDirection.js | 0
.../ts}/doc-example/pictorialBar-repeatLayout.js | 0
.../pictorialBar-symbolBoundingDataArray.js | 0
.../ts}/doc-example/pictorialBar-symbolSize.js | 0
.../ts}/doc-example/pie-highlight.js | 0
.../ts}/doc-example/pie-label-bleedMargin.js | 0
.../doc-example/pie-label-distanceToLabelLine.js | 0
.../ts}/doc-example/pie-label-margin.js | 0
.../{data => examples/ts}/doc-example/pie-media.js | 0
.../ts}/doc-example/polar-anticlockwise.js | 0
.../ts}/doc-example/polar-start-angle.js | 0
public/{data => examples/ts}/doc-example/radar.js | 0
.../ts}/doc-example/scatter-dataZoom-all.js | 0
.../ts}/doc-example/scatter-tutorial-dataZoom-1.js | 0
.../ts}/doc-example/scatter-tutorial-dataZoom-2.js | 0
.../ts}/doc-example/scatter-tutorial-dataZoom-3.js | 0
.../doc-example/scatter-visualMap-categories.js | 0
.../ts}/doc-example/scatter-visualMap-piecewise.js | 0
.../ts}/doc-example/sunburst-color.js | 2 +-
.../ts}/doc-example/sunburst-highlight-ancestor.js | 0
.../doc-example/sunburst-highlight-descendant.js | 0
.../ts}/doc-example/sunburst-label-align.js | 0
.../ts}/doc-example/sunburst-simple.js | 2 +-
.../ts}/doc-example/text-block-fragment.js | 0
.../ts}/doc-example/text-fregment-align.js | 0
.../ts}/doc-example/text-options.js | 0
.../ts}/doc-example/timeline-dynamic-series.js | 2 +-
.../ts}/doc-example/title-block.js | 0
.../ts}/doc-example/treemap-borderColor.js | 0
.../ts}/doc-example/tutorial-async.js | 0
.../ts}/doc-example/tutorial-dynamic-data.js | 0
.../ts}/doc-example/tutorial-loading.js | 0
.../ts}/doc-example/tutorial-styling-step0.js | 0
.../ts}/doc-example/tutorial-styling-step1.js | 0
.../ts}/doc-example/tutorial-styling-step2.js | 0
.../ts}/doc-example/tutorial-styling-step3.js | 0
.../ts}/doc-example/tutorial-styling-step4.js | 0
.../ts}/doc-example/tutorial-styling-step5.js | 0
.../ts}/doc-example/value-animation-simple.js | 0
public/{data => examples/ts}/geo-lines.js | 0
public/{data => examples/ts}/geo-map-scatter.js | 0
public/{data => examples/ts}/geo-organ.js | 0
public/{data => examples/ts}/heatmap-bmap.js | 0
.../ts}/heatmap-large-piecewise.js | 0
public/{data => examples/ts}/heatmap-large.js | 0
public/{data => examples/ts}/heatmap-map.js | 0
public/examples/ts/line-gradient.ts | 2 +-
public/{data => examples/ts}/map-bin.js | 0
.../{data => examples/ts}/map-china-dataRange.js | 0
public/{data => examples/ts}/map-china.js | 0
public/{data => examples/ts}/map-labels.js | 2 +-
public/{data => examples/ts}/map-locate.js | 0
public/{data => examples/ts}/map-polygon.js | 0
public/{data => examples/ts}/map-province.js | 0
.../{data => examples/ts}/map-world-dataRange.js | 0
public/{data => examples/ts}/map-world.js | 0
.../{data => examples/ts}/mix-timeline-finance.js | 0
.../ts}/scatter-clustering-process.js | 0
.../ts}/scatter-life-expectancy-timeline.js | 0
public/{data => examples/ts}/scatter-map.js | 0
.../ts}/scatter-world-population.js | 0
public/{data => examples/ts}/sunburst-book.js | 38 +-
public/examples/ts/watermark.ts | 2 +-
public/examples/tsconfig.json | 9 +-
public/examples/types/example.d.ts | 46 +-
tool/build-example.js | 1 -
353 files changed, 243 insertions(+), 27272 deletions(-)
diff --git a/README.md b/README.md
index b56d153..5891e3f 100644
--- a/README.md
+++ b/README.md
@@ -28,7 +28,7 @@ It will copy all the build resources to echarts-website/next/examples
## Edit example
-All test cases are in the `public/data` folder. The comment in the header
+All test cases are in the `public/examples/ts` folder. The comment in the header
```js
/*
@@ -53,6 +53,12 @@ videoEnd: 6000
*/
```
+Most of examples are written in `TypeScript`. You need to comile it to `JavaScript` by using command:
+
+```shell
+npm run compile:example
+```
+
## Some built-in features available in examples
diff --git a/_config.yml b/_config.yml
deleted file mode 100644
index a98ff5b..0000000
--- a/_config.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-# Handling Reading
-markdown_ext: "markdown,mkdown,mkdn,mkd"
diff --git a/package-lock.json b/package-lock.json
index fc83889..215c765 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1251,6 +1251,15 @@
"@types/node": "*"
}
},
+ "@types/jquery": {
+ "version": "3.5.6",
+ "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.6.tgz",
+ "integrity": "sha512-SmgCQRzGPId4MZQKDj9Hqc6kSXFNWZFHpELkyK8AQhf8Zr6HKfCzFv9ZC1Fv3FyQttJZOlap3qYb12h61iZAIg==",
+ "dev": true,
+ "requires": {
+ "@types/sizzle": "*"
+ }
+ },
"@types/json-schema": {
"version": "7.0.5",
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.5.tgz",
@@ -1269,6 +1278,12 @@
"integrity": "sha1-bRGowtWEBbPbk4irdAEGy/pkw8k=",
"dev": true
},
+ "@types/sizzle": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz",
+ "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==",
+ "dev": true
+ },
"@typescript-eslint/types": {
"version": "4.12.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.12.0.tgz",
@@ -3116,6 +3131,124 @@
}
}
},
+ "download-git-repo": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/download-git-repo/-/download-git-repo-3.0.2.tgz",
+ "integrity": "sha512-N8hWXD4hXqmEcNoR8TBYFntaOcYvEQ7Bz90mgm3bZRTuteGQqwT32VDMnTyD0KTEvb8BWrMc1tVmzuV9u/WrAg==",
+ "dev": true,
+ "requires": {
+ "download": "^7.1.0",
+ "git-clone": "^0.1.0",
+ "rimraf": "^3.0.0"
+ },
+ "dependencies": {
+ "download": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/download/-/download-7.1.0.tgz",
+ "integrity": "sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==",
+ "dev": true,
+ "requires": {
+ "archive-type": "^4.0.0",
+ "caw": "^2.0.1",
+ "content-disposition": "^0.5.2",
+ "decompress": "^4.2.0",
+ "ext-name": "^5.0.0",
+ "file-type": "^8.1.0",
+ "filenamify": "^2.0.0",
+ "get-stream": "^3.0.0",
+ "got": "^8.3.1",
+ "make-dir": "^1.2.0",
+ "p-event": "^2.1.0",
+ "pify": "^3.0.0"
+ }
+ },
+ "get-stream": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
+ "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
+ "dev": true
+ },
+ "got": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz",
+ "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==",
+ "dev": true,
+ "requires": {
+ "@sindresorhus/is": "^0.7.0",
+ "cacheable-request": "^2.1.1",
+ "decompress-response": "^3.3.0",
+ "duplexer3": "^0.1.4",
+ "get-stream": "^3.0.0",
+ "into-stream": "^3.1.0",
+ "is-retry-allowed": "^1.1.0",
+ "isurl": "^1.0.0-alpha5",
+ "lowercase-keys": "^1.0.0",
+ "mimic-response": "^1.0.0",
+ "p-cancelable": "^0.4.0",
+ "p-timeout": "^2.0.1",
+ "pify": "^3.0.0",
+ "safe-buffer": "^5.1.1",
+ "timed-out": "^4.0.1",
+ "url-parse-lax": "^3.0.0",
+ "url-to-options": "^1.0.1"
+ }
+ },
+ "make-dir": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
+ "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
+ "dev": true,
+ "requires": {
+ "pify": "^3.0.0"
+ }
+ },
+ "p-cancelable": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz",
+ "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==",
+ "dev": true
+ },
+ "p-event": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz",
+ "integrity": "sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==",
+ "dev": true,
+ "requires": {
+ "p-timeout": "^2.0.1"
+ }
+ },
+ "p-timeout": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz",
+ "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==",
+ "dev": true,
+ "requires": {
+ "p-finally": "^1.0.0"
+ }
+ },
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true
+ },
+ "prepend-http": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
+ "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
+ "dev": true
+ },
+ "url-parse-lax": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
+ "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=",
+ "dev": true,
+ "requires": {
+ "prepend-http": "^2.0.0"
+ }
+ }
+ }
+ },
"duplexer": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
@@ -3129,19 +3262,19 @@
"dev": true
},
"echarts": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.0.0.tgz",
- "integrity": "sha512-6SDcJbLVOcfQyjPg+spNU1+JVrkU1B9fzUa5tpbP/mMNUPyigCOJwcEIQAJSbp9jt5UP3EXvQR0vtYXIo9AjyA==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.2.0.tgz",
+ "integrity": "sha512-7CrCKGRjFdpLIJ/Yt1gpHeqs5PiCem2GHPdWZPwKl7WSYeZu0Qzm1bcCFe9/b4dfVaL1zlY4JmdzaVwKksVeqg==",
"dev": true,
"requires": {
- "tslib": "1.10.0",
- "zrender": "5.0.1"
+ "tslib": "2.3.0",
+ "zrender": "5.2.0"
},
"dependencies": {
"tslib": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
- "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
+ "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==",
"dev": true
}
}
@@ -3221,6 +3354,12 @@
"is-arrayish": "^0.2.1"
}
},
+ "esbuild": {
+ "version": "0.8.57",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.8.57.tgz",
+ "integrity": "sha512-j02SFrUwFTRUqiY0Kjplwjm1psuzO1d6AjaXKuOR9hrY0HuPsT6sV42B6myW34h1q4CRy+Y3g4RU/cGJeI/nNA==",
+ "dev": true
+ },
"escalade": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.0.2.tgz",
@@ -3427,6 +3566,12 @@
"schema-utils": "^2.5.0"
}
},
+ "file-type": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/file-type/-/file-type-8.1.0.tgz",
+ "integrity": "sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==",
+ "dev": true
+ },
"filename-reserved-regex": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz",
@@ -3574,6 +3719,12 @@
"pinkie-promise": "^2.0.0"
}
},
+ "git-clone": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/git-clone/-/git-clone-0.1.0.tgz",
+ "integrity": "sha1-DXYWN3gJOu9/HDAjjyqe8/B6Lrk=",
+ "dev": true
+ },
"github-from-package": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
@@ -5367,9 +5518,9 @@
"dev": true
},
"prettier": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz",
- "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==",
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz",
+ "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==",
"dev": true
},
"process-nextick-args": {
@@ -5643,6 +5794,15 @@
"integrity": "sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY=",
"dev": true
},
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
"run-parallel": {
"version": "1.1.9",
"resolved": "https://registry.npm.taobao.org/run-parallel/download/run-parallel-1.1.9.tgz",
@@ -7161,18 +7321,18 @@
"dev": true
},
"zrender": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.0.1.tgz",
- "integrity": "sha512-i8FNCKAKfF0EfZFJ6w2p30umBrCyy481/PePFQqPdtNgCl5Hp5z7/dovqb7soEoFkhNvhjJ/J4W9zFALeae6yA==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.2.0.tgz",
+ "integrity": "sha512-87v3gvB0lcWy48ObA/DwrhQ95ADMMRhECVrXmHDFCBNvbxHFfEDZtrZh4VmVjLAeFAjimY4PyZ65rbLCivdszA==",
"dev": true,
"requires": {
- "tslib": "1.10.0"
+ "tslib": "2.3.0"
},
"dependencies": {
"tslib": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
- "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
+ "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==",
"dev": true
}
}
diff --git a/package.json b/package.json
index 39e45f0..8fe1fee 100644
--- a/package.json
+++ b/package.json
@@ -9,6 +9,7 @@
"release": "npm run build && node build/copyResource.js --env asf",
"dev": "npx concurrently --kill-others \"npm:watch\" \"npm:server\"",
"build:example": "node tool/build-example.js && node tool/build-example.js --source data-gl",
+ "compile:example": "tsc --project public/examples/tsconfig.json",
"test:e2e": "node e2e/main.js --bundler webpack -m",
"test:e2e:local": "node e2e/main.js --bundler webpack -m --local",
"test:e2e:esbuild": "node e2e/main.js --bundler esbuild -m",
@@ -20,6 +21,7 @@
"@babel/preset-env": "^7.10.2",
"@ffmpeg/core": "^0.10.0",
"@ffmpeg/ffmpeg": "^0.10.1",
+ "@types/jquery": "^3.5.6",
"@typescript-eslint/typescript-estree": "^4.10.0",
"argparse": "^1.0.9",
"babel-loader": "^8.1.0",
@@ -28,7 +30,7 @@
"css-loader": "^3.5.3",
"cwebp-bin": "^6.1.1",
"download-git-repo": "^3.0.2",
- "echarts": "^5.0.0",
+ "echarts": "^5.2.0",
"echarts-stat": "^1.2.0",
"esbuild": "^0.8.34",
"file-loader": "^4.3.0",
@@ -42,7 +44,7 @@
"open": "^7.1.0",
"pixelmatch": "^5.2.1",
"pngjs": "^6.0.0",
- "prettier": "^2.2.1",
+ "prettier": "^2.3.2",
"sass.js": "^0.11.1",
"sassjs-loader": "^2.0.0",
"seedrandom": "^3.0.5",
diff --git a/public/data/area-basic.js b/public/data/area-basic.js
deleted file mode 100644
index 6200298..0000000
--- a/public/data/area-basic.js
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
-title: Basic area chart
-titleCN: 基础面积图
-category: line
-difficulty: 1
-*/
-
-option = {
- xAxis: {
- type: 'category',
- boundaryGap: false,
- data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
- },
- yAxis: {
- type: 'value'
- },
- series: [{
- data: [820, 932, 901, 934, 1290, 1330, 1320],
- type: 'line',
- areaStyle: {}
- }]
-};
diff --git a/public/data/area-pieces.js b/public/data/area-pieces.js
deleted file mode 100644
index a6cb4a1..0000000
--- a/public/data/area-pieces.js
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
-title: Area Pieces
-titleCN: 折线图区域高亮
-category: 'line, visualMap'
-difficulty: 3
-*/
-
-
-option = {
- xAxis: {
- type: 'category',
- boundaryGap: false
- },
- yAxis: {
- type: 'value',
- boundaryGap: [0, '30%']
- },
- visualMap: {
- type: 'piecewise',
- show: false,
- dimension: 0,
- seriesIndex: 0,
- pieces: [{
- gt: 1,
- lt: 3,
- color: 'rgba(0, 0, 180, 0.4)'
- }, {
- gt: 5,
- lt: 7,
- color: 'rgba(0, 0, 180, 0.4)'
- }]
- },
- series: [
- {
- type: 'line',
- smooth: 0.6,
- symbol: 'none',
- lineStyle: {
- color: '#5470C6',
- width: 5
- },
- markLine: {
- symbol: ['none', 'none'],
- label: {show: false},
- data: [
- {xAxis: 1},
- {xAxis: 3},
- {xAxis: 5},
- {xAxis: 7}
- ]
- },
- areaStyle: {},
- data: [
- ['2019-10-10', 200],
- ['2019-10-11', 560],
- ['2019-10-12', 750],
- ['2019-10-13', 580],
- ['2019-10-14', 250],
- ['2019-10-15', 300],
- ['2019-10-16', 450],
- ['2019-10-17', 300],
- ['2019-10-18', 100]
- ]
- }
- ]
-};
\ No newline at end of file
diff --git a/public/data/area-rainfall.js b/public/data/area-rainfall.js
deleted file mode 100644
index 1ca5bc9..0000000
--- a/public/data/area-rainfall.js
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
-title: Rainfall
-titleCN: 雨量流量关系图
-category: line
-difficulty: 5
-*/
-
-option = {
- title: {
- text: '雨量流量关系图',
- subtext: '数据来自西安兰特水电测控技术有限公司',
- left: 'center',
- align: 'right'
- },
- grid: {
- bottom: 80
- },
- toolbox: {
- feature: {
- dataZoom: {
- yAxisIndex: 'none'
- },
- restore: {},
- saveAsImage: {}
- }
- },
- tooltip: {
- trigger: 'axis',
- axisPointer: {
- type: 'cross',
- animation: false,
- label: {
- backgroundColor: '#505765'
- }
- }
- },
- legend: {
- data: ['流量', '降雨量'],
- left: 10
- },
- dataZoom: [
- {
- show: true,
- realtime: true,
- start: 65,
- end: 85
- },
- {
- type: 'inside',
- realtime: true,
- start: 65,
- end: 85
- }
- ],
- xAxis: [
- {
- type: 'category',
- boundaryGap: false,
- axisLine: {onZero: false},
- data: [
- '2009/6/12 2:00', '2009/6/12 3:00', '2009/6/12 4:00', '2009/6/12 5:00', '2009/6/12 6:00', '2009/6/12 7:00', '2009/6/12 8:00', '2009/6/12 9:00', '2009/6/12 10:00', '2009/6/12 11:00', '2009/6/12 12:00', '2009/6/12 13:00', '2009/6/12 14:00', '2009/6/12 15:00', '2009/6/12 16:00', '2009/6/12 17:00', '2009/6/12 18:00', '2009/6/12 19:00', '2009/6/12 20:00', '2009/6/12 21:00', '2009/6/12 22:00', '2009/6/12 23:00',
- '2009/6/13 0:00', '2009/6/13 1:00', '2009/6/13 2:00', '2009/6/13 3:00', '2009/6/13 4:00', '2009/6/13 5:00', '2009/6/13 6:00', '2009/6/13 7:00', '2009/6/13 8:00', '2009/6/13 9:00', '2009/6/13 10:00', '2009/6/13 11:00', '2009/6/13 12:00', '2009/6/13 13:00', '2009/6/13 14:00', '2009/6/13 15:00', '2009/6/13 16:00', '2009/6/13 17:00', '2009/6/13 18:00', '2009/6/13 19:00', '2009/6/13 20:00', '2009/6/13 21:00', '2009/6/13 22:00', '2009/6/13 23:00',
- '2009/6/14 0:00', '2009/6/14 1:00', '2009/6/14 2:00', '2009/6/14 3:00', '2009/6/14 4:00', '2009/6/14 5:00', '2009/6/14 6:00', '2009/6/14 7:00', '2009/6/14 8:00', '2009/6/14 9:00', '2009/6/14 10:00', '2009/6/14 11:00', '2009/6/14 12:00', '2009/6/14 13:00', '2009/6/14 14:00', '2009/6/14 15:00', '2009/6/14 16:00', '2009/6/14 17:00', '2009/6/14 18:00', '2009/6/14 19:00', '2009/6/14 20:00', '2009/6/14 21:00', '2009/6/14 22:00', '2009/6/14 23:00',
- '2009/6/15 0:00', '2009/6/15 1:00', '2009/6/15 2:00', '2009/6/15 3:00', '2009/6/15 4:00', '2009/6/15 5:00', '2009/6/15 6:00', '2009/6/15 7:00', '2009/6/15 8:00', '2009/6/15 9:00', '2009/6/15 10:00', '2009/6/15 11:00', '2009/6/15 12:00', '2009/6/15 13:00', '2009/6/15 14:00', '2009/6/15 15:00', '2009/6/15 16:00', '2009/6/15 17:00', '2009/6/15 18:00', '2009/6/15 19:00', '2009/6/15 20:00', '2009/6/15 21:00', '2009/6/15 22:00', '2009/6/15 23:00',
- '2009/6/15 0:00', '2009/6/16 1:00', '2009/6/16 2:00', '2009/6/16 3:00', '2009/6/16 4:00', '2009/6/16 5:00', '2009/6/16 6:00', '2009/6/16 7:00', '2009/6/16 8:00', '2009/6/16 9:00', '2009/6/16 10:00', '2009/6/16 11:00', '2009/6/16 12:00', '2009/6/16 13:00', '2009/6/16 14:00', '2009/6/16 15:00', '2009/6/16 16:00', '2009/6/16 17:00', '2009/6/16 18:00', '2009/6/16 19:00', '2009/6/16 20:00', '2009/6/16 21:00', '2009/6/16 22:00', '2009/6/16 23:00',
- '2009/6/15 0:00', '2009/6/17 1:00', '2009/6/17 2:00', '2009/6/17 3:00', '2009/6/17 4:00', '2009/6/17 5:00', '2009/6/17 6:00', '2009/6/17 7:00', '2009/6/17 8:00', '2009/6/17 9:00', '2009/6/17 10:00', '2009/6/17 11:00', '2009/6/17 12:00', '2009/6/17 13:00', '2009/6/17 14:00', '2009/6/17 15:00', '2009/6/17 16:00', '2009/6/17 17:00', '2009/6/17 18:00', '2009/6/17 19:00', '2009/6/17 20:00', '2009/6/17 21:00', '2009/6/17 22:00', '2009/6/17 23:00',
- '2009/6/18 0:00', '2009/6/18 1:00', '2009/6/18 2:00', '2009/6/18 3:00', '2009/6/18 4:00', '2009/6/18 5:00', '2009/6/18 6:00', '2009/6/18 7:00', '2009/6/18 8:00', '2009/6/18 9:00', '2009/6/18 10:00', '2009/6/18 11:00', '2009/6/18 12:00', '2009/6/18 13:00', '2009/6/18 14:00', '2009/6/18 15:00', '2009/6/18 16:00', '2009/6/18 17:00', '2009/6/18 18:00', '2009/6/18 19:00', '2009/6/18 20:00', '2009/6/18 21:00', '2009/6/18 22:00', '2009/6/18 23:00',
- '2009/6/15 0:00', '2009/6/19 1:00', '2009/6/19 2:00', '2009/6/19 3:00', '2009/6/19 4:00', '2009/6/19 5:00', '2009/6/19 6:00', '2009/6/19 7:00', '2009/6/19 8:00', '2009/6/19 9:00', '2009/6/19 10:00', '2009/6/19 11:00', '2009/6/19 12:00', '2009/6/19 13:00', '2009/6/19 14:00', '2009/6/19 15:00', '2009/6/19 16:00', '2009/6/19 17:00', '2009/6/19 18:00', '2009/6/19 19:00', '2009/6/19 20:00', '2009/6/19 21:00', '2009/6/19 22:00', '2009/6/19 23:00',
- '2009/6/20 0:00', '2009/6/20 1:00', '2009/6/20 2:00', '2009/6/20 3:00', '2009/6/20 4:00', '2009/6/20 5:00', '2009/6/20 6:00', '2009/6/20 7:00', '2009/6/20 8:00', '2009/6/20 9:00', '2009/6/20 10:00', '2009/6/20 11:00', '2009/6/20 12:00', '2009/6/20 13:00', '2009/6/20 14:00', '2009/6/20 15:00', '2009/6/20 16:00', '2009/6/20 17:00', '2009/6/20 18:00', '2009/6/20 19:00', '2009/6/20 20:00', '2009/6/20 21:00', '2009/6/20 22:00', '2009/6/20 23:00',
- '2009/6/21 0:00', '2009/6/21 1:00', '2009/6/21 2:00', '2009/6/21 3:00', '2009/6/21 4:00', '2009/6/21 5:00', '2009/6/21 6:00', '2009/6/21 7:00', '2009/6/21 8:00', '2009/6/21 9:00', '2009/6/21 10:00', '2009/6/21 11:00', '2009/6/21 12:00', '2009/6/21 13:00', '2009/6/21 14:00', '2009/6/21 15:00', '2009/6/21 16:00', '2009/6/21 17:00', '2009/6/21 18:00', '2009/6/21 19:00', '2009/6/21 20:00', '2009/6/21 21:00', '2009/6/21 22:00', '2009/6/21 23:00',
- '2009/6/22 0:00', '2009/6/22 1:00', '2009/6/22 2:00', '2009/6/22 3:00', '2009/6/22 4:00', '2009/6/22 5:00', '2009/6/22 6:00', '2009/6/22 7:00', '2009/6/22 8:00', '2009/6/22 9:00', '2009/6/22 10:00', '2009/6/22 11:00', '2009/6/22 12:00', '2009/6/22 13:00', '2009/6/22 14:00', '2009/6/22 15:00', '2009/6/22 16:00', '2009/6/22 17:00', '2009/6/22 18:00', '2009/6/22 19:00', '2009/6/22 20:00', '2009/6/22 21:00', '2009/6/22 22:00', '2009/6/22 23:00',
- '2009/6/23 0:00', '2009/6/23 1:00', '2009/6/23 2:00', '2009/6/23 3:00', '2009/6/23 4:00', '2009/6/23 5:00', '2009/6/23 6:00', '2009/6/23 7:00', '2009/6/23 8:00', '2009/6/23 9:00', '2009/6/23 10:00', '2009/6/23 11:00', '2009/6/23 12:00', '2009/6/23 13:00', '2009/6/23 14:00', '2009/6/23 15:00', '2009/6/23 16:00', '2009/6/23 17:00', '2009/6/23 18:00', '2009/6/23 19:00', '2009/6/23 20:00', '2009/6/23 21:00', '2009/6/23 22:00', '2009/6/23 23:00',
- '2009/6/24 0:00', '2009/6/24 1:00', '2009/6/24 2:00', '2009/6/24 3:00', '2009/6/24 4:00', '2009/6/24 5:00', '2009/6/24 6:00', '2009/6/24 7:00', '2009/6/24 8:00', '2009/6/24 9:00', '2009/6/24 10:00', '2009/6/24 11:00', '2009/6/24 12:00', '2009/6/24 13:00', '2009/6/24 14:00', '2009/6/24 15:00', '2009/6/24 16:00', '2009/6/24 17:00', '2009/6/24 18:00', '2009/6/24 19:00', '2009/6/24 20:00', '2009/6/24 21:00', '2009/6/24 22:00', '2009/6/24 23:00',
- '2009/6/25 0:00', '2009/6/25 1:00', '2009/6/25 2:00', '2009/6/25 3:00', '2009/6/25 4:00', '2009/6/25 5:00', '2009/6/25 6:00', '2009/6/25 7:00', '2009/6/25 8:00', '2009/6/25 9:00', '2009/6/25 10:00', '2009/6/25 11:00', '2009/6/25 12:00', '2009/6/25 13:00', '2009/6/25 14:00', '2009/6/25 15:00', '2009/6/25 16:00', '2009/6/25 17:00', '2009/6/25 18:00', '2009/6/25 19:00', '2009/6/25 20:00', '2009/6/25 21:00', '2009/6/25 22:00', '2009/6/25 23:00',
- '2009/6/26 0:00', '2009/6/26 1:00', '2009/6/26 2:00', '2009/6/26 3:00', '2009/6/26 4:00', '2009/6/26 5:00', '2009/6/26 6:00', '2009/6/26 7:00', '2009/6/26 8:00', '2009/6/26 9:00', '2009/6/26 10:00', '2009/6/26 11:00', '2009/6/26 12:00', '2009/6/26 13:00', '2009/6/26 14:00', '2009/6/26 15:00', '2009/6/26 16:00', '2009/6/26 17:00', '2009/6/26 18:00', '2009/6/26 19:00', '2009/6/26 20:00', '2009/6/26 21:00', '2009/6/26 22:00', '2009/6/26 23:00',
- '2009/6/27 0:00', '2009/6/27 1:00', '2009/6/27 2:00', '2009/6/27 3:00', '2009/6/27 4:00', '2009/6/27 5:00', '2009/6/27 6:00', '2009/6/27 7:00', '2009/6/27 8:00', '2009/6/27 9:00', '2009/6/27 10:00', '2009/6/27 11:00', '2009/6/27 12:00', '2009/6/27 13:00', '2009/6/27 14:00', '2009/6/27 15:00', '2009/6/27 16:00', '2009/6/27 17:00', '2009/6/27 18:00', '2009/6/27 19:00', '2009/6/27 20:00', '2009/6/27 21:00', '2009/6/27 22:00', '2009/6/27 23:00',
- '2009/6/28 0:00', '2009/6/28 1:00', '2009/6/28 2:00', '2009/6/28 3:00', '2009/6/28 4:00', '2009/6/28 5:00', '2009/6/28 6:00', '2009/6/28 7:00', '2009/6/28 8:00', '2009/6/28 9:00', '2009/6/28 10:00', '2009/6/28 11:00', '2009/6/28 12:00', '2009/6/28 13:00', '2009/6/28 14:00', '2009/6/28 15:00', '2009/6/28 16:00', '2009/6/28 17:00', '2009/6/28 18:00', '2009/6/28 19:00', '2009/6/28 20:00', '2009/6/28 21:00', '2009/6/28 22:00', '2009/6/28 23:00',
- '2009/6/29 0:00', '2009/6/29 1:00', '2009/6/29 2:00', '2009/6/29 3:00', '2009/6/29 4:00', '2009/6/29 5:00', '2009/6/29 6:00', '2009/6/29 7:00', '2009/6/29 8:00', '2009/6/29 9:00', '2009/6/29 10:00', '2009/6/29 11:00', '2009/6/29 12:00', '2009/6/29 13:00', '2009/6/29 14:00', '2009/6/29 15:00', '2009/6/29 16:00', '2009/6/29 17:00', '2009/6/29 18:00', '2009/6/29 19:00', '2009/6/29 20:00', '2009/6/29 21:00', '2009/6/29 22:00', '2009/6/29 23:00',
- '2009/6/30 0:00', '2009/6/30 1:00', '2009/6/30 2:00', '2009/6/30 3:00', '2009/6/30 4:00', '2009/6/30 5:00', '2009/6/30 6:00', '2009/6/30 7:00', '2009/6/30 8:00', '2009/6/30 9:00', '2009/6/30 10:00', '2009/6/30 11:00', '2009/6/30 12:00', '2009/6/30 13:00', '2009/6/30 14:00', '2009/6/30 15:00', '2009/6/30 16:00', '2009/6/30 17:00', '2009/6/30 18:00', '2009/6/30 19:00', '2009/6/30 20:00', '2009/6/30 21:00', '2009/6/30 22:00', '2009/6/30 23:00',
- '2009/7/1 0:00', '2009/7/1 1:00', '2009/7/1 2:00', '2009/7/1 3:00', '2009/7/1 4:00', '2009/7/1 5:00', '2009/7/1 6:00', '2009/7/1 7:00', '2009/7/1 8:00', '2009/7/1 9:00', '2009/7/1 10:00', '2009/7/1 11:00', '2009/7/1 12:00', '2009/7/1 13:00', '2009/7/1 14:00', '2009/7/1 15:00', '2009/7/1 16:00', '2009/7/1 17:00', '2009/7/1 18:00', '2009/7/1 19:00', '2009/7/1 20:00', '2009/7/1 21:00', '2009/7/1 22:00', '2009/7/1 23:00',
- '2009/7/2 0:00', '2009/7/2 1:00', '2009/7/2 2:00', '2009/7/2 3:00', '2009/7/2 4:00', '2009/7/2 5:00', '2009/7/2 6:00', '2009/7/2 7:00', '2009/7/2 8:00', '2009/7/2 9:00', '2009/7/2 10:00', '2009/7/2 11:00', '2009/7/2 12:00', '2009/7/2 13:00', '2009/7/2 14:00', '2009/7/2 15:00', '2009/7/2 16:00', '2009/7/2 17:00', '2009/7/2 18:00', '2009/7/2 19:00', '2009/7/2 20:00', '2009/7/2 21:00', '2009/7/2 22:00', '2009/7/2 23:00',
- '2009/7/3 0:00', '2009/7/3 1:00', '2009/7/3 2:00', '2009/7/3 3:00', '2009/7/3 4:00', '2009/7/3 5:00', '2009/7/3 6:00', '2009/7/3 7:00', '2009/7/3 8:00', '2009/7/3 9:00', '2009/7/3 10:00', '2009/7/3 11:00', '2009/7/3 12:00', '2009/7/3 13:00', '2009/7/3 14:00', '2009/7/3 15:00', '2009/7/3 16:00', '2009/7/3 17:00', '2009/7/3 18:00', '2009/7/3 19:00', '2009/7/3 20:00', '2009/7/3 21:00', '2009/7/3 22:00', '2009/7/3 23:00',
- '2009/7/4 0:00', '2009/7/4 1:00', '2009/7/4 2:00', '2009/7/4 3:00', '2009/7/4 4:00', '2009/7/4 5:00', '2009/7/4 6:00', '2009/7/4 7:00', '2009/7/4 8:00', '2009/7/4 9:00', '2009/7/4 10:00', '2009/7/4 11:00', '2009/7/4 12:00', '2009/7/4 13:00', '2009/7/4 14:00', '2009/7/4 15:00', '2009/7/4 16:00', '2009/7/4 17:00', '2009/7/4 18:00', '2009/7/4 19:00', '2009/7/4 20:00', '2009/7/4 21:00', '2009/7/4 22:00', '2009/7/4 23:00',
- '2009/7/5 0:00', '2009/7/5 1:00', '2009/7/5 2:00', '2009/7/5 3:00', '2009/7/5 4:00', '2009/7/5 5:00', '2009/7/5 6:00', '2009/7/5 7:00', '2009/7/5 8:00', '2009/7/5 9:00', '2009/7/5 10:00', '2009/7/5 11:00', '2009/7/5 12:00', '2009/7/5 13:00', '2009/7/5 14:00', '2009/7/5 15:00', '2009/7/5 16:00', '2009/7/5 17:00', '2009/7/5 18:00', '2009/7/5 19:00', '2009/7/5 20:00', '2009/7/5 21:00', '2009/7/5 22:00', '2009/7/5 23:00',
- '2009/7/6 0:00', '2009/7/6 1:00', '2009/7/6 2:00', '2009/7/6 3:00', '2009/7/6 4:00', '2009/7/6 5:00', '2009/7/6 6:00', '2009/7/6 7:00', '2009/7/6 8:00', '2009/7/6 9:00', '2009/7/6 10:00', '2009/7/6 11:00', '2009/7/6 12:00', '2009/7/6 13:00', '2009/7/6 14:00', '2009/7/6 15:00', '2009/7/6 16:00', '2009/7/6 17:00', '2009/7/6 18:00', '2009/7/6 19:00', '2009/7/6 20:00', '2009/7/6 21:00', '2009/7/6 22:00', '2009/7/6 23:00',
- '2009/7/7 0:00', '2009/7/7 1:00', '2009/7/7 2:00', '2009/7/7 3:00', '2009/7/7 4:00', '2009/7/7 5:00', '2009/7/7 6:00', '2009/7/7 7:00', '2009/7/7 8:00', '2009/7/7 9:00', '2009/7/7 10:00', '2009/7/7 11:00', '2009/7/7 12:00', '2009/7/7 13:00', '2009/7/7 14:00', '2009/7/7 15:00', '2009/7/7 16:00', '2009/7/7 17:00', '2009/7/7 18:00', '2009/7/7 19:00', '2009/7/7 20:00', '2009/7/7 21:00', '2009/7/7 22:00', '2009/7/7 23:00',
- '2009/7/8 0:00', '2009/7/8 1:00', '2009/7/8 2:00', '2009/7/8 3:00', '2009/7/8 4:00', '2009/7/8 5:00', '2009/7/8 6:00', '2009/7/8 7:00', '2009/7/8 8:00', '2009/7/8 9:00', '2009/7/8 10:00', '2009/7/8 11:00', '2009/7/8 12:00', '2009/7/8 13:00', '2009/7/8 14:00', '2009/7/8 15:00', '2009/7/8 16:00', '2009/7/8 17:00', '2009/7/8 18:00', '2009/7/8 19:00', '2009/7/8 20:00', '2009/7/8 21:00', '2009/7/8 22:00', '2009/7/8 23:00',
- '2009/7/9 0:00', '2009/7/9 1:00', '2009/7/9 2:00', '2009/7/9 3:00', '2009/7/9 4:00', '2009/7/9 5:00', '2009/7/9 6:00', '2009/7/9 7:00', '2009/7/9 8:00', '2009/7/9 9:00', '2009/7/9 10:00', '2009/7/9 11:00', '2009/7/9 12:00', '2009/7/9 13:00', '2009/7/9 14:00', '2009/7/9 15:00', '2009/7/9 16:00', '2009/7/9 17:00', '2009/7/9 18:00', '2009/7/9 19:00', '2009/7/9 20:00', '2009/7/9 21:00', '2009/7/9 22:00', '2009/7/9 23:00',
- '2009/7/10 0:00', '2009/7/10 1:00', '2009/7/10 2:00', '2009/7/10 3:00', '2009/7/10 4:00', '2009/7/10 5:00', '2009/7/10 6:00', '2009/7/10 7:00', '2009/7/10 8:00', '2009/7/10 9:00', '2009/7/10 10:00', '2009/7/10 11:00', '2009/7/10 12:00', '2009/7/10 13:00', '2009/7/10 14:00', '2009/7/10 15:00', '2009/7/10 16:00', '2009/7/10 17:00', '2009/7/10 18:00', '2009/7/10 19:00', '2009/7/10 20:00', '2009/7/10 21:00', '2009/7/10 22:00', '2009/7/10 23:00',
- '2009/7/11 0:00', '2009/7/11 1:00', '2009/7/11 2:00', '2009/7/11 3:00', '2009/7/11 4:00', '2009/7/11 5:00', '2009/7/11 6:00', '2009/7/11 7:00', '2009/7/11 8:00', '2009/7/11 9:00', '2009/7/11 10:00', '2009/7/11 11:00', '2009/7/11 12:00', '2009/7/11 13:00', '2009/7/11 14:00', '2009/7/11 15:00', '2009/7/11 16:00', '2009/7/11 17:00', '2009/7/11 18:00', '2009/7/11 19:00', '2009/7/11 20:00', '2009/7/11 21:00', '2009/7/11 22:00', '2009/7/11 23:00',
- '2009/7/12 0:00', '2009/7/12 1:00', '2009/7/12 2:00', '2009/7/12 3:00', '2009/7/12 4:00', '2009/7/12 5:00', '2009/7/12 6:00', '2009/7/12 7:00', '2009/7/12 8:00', '2009/7/12 9:00', '2009/7/12 10:00', '2009/7/12 11:00', '2009/7/12 12:00', '2009/7/12 13:00', '2009/7/12 14:00', '2009/7/12 15:00', '2009/7/12 16:00', '2009/7/12 17:00', '2009/7/12 18:00', '2009/7/12 19:00', '2009/7/12 20:00', '2009/7/12 21:00', '2009/7/12 22:00', '2009/7/12 23:00',
- '2009/7/13 0:00', '2009/7/13 1:00', '2009/7/13 2:00', '2009/7/13 3:00', '2009/7/13 4:00', '2009/7/13 5:00', '2009/7/13 6:00', '2009/7/13 7:00', '2009/7/13 8:00', '2009/7/13 9:00', '2009/7/13 10:00', '2009/7/13 11:00', '2009/7/13 12:00', '2009/7/13 13:00', '2009/7/13 14:00', '2009/7/13 15:00', '2009/7/13 16:00', '2009/7/13 17:00', '2009/7/13 18:00', '2009/7/13 19:00', '2009/7/13 20:00', '2009/7/13 21:00', '2009/7/13 22:00', '2009/7/13 23:00',
- '2009/7/14 0:00', '2009/7/14 1:00', '2009/7/14 2:00', '2009/7/14 3:00', '2009/7/14 4:00', '2009/7/14 5:00', '2009/7/14 6:00', '2009/7/14 7:00', '2009/7/14 8:00', '2009/7/14 9:00', '2009/7/14 10:00', '2009/7/14 11:00', '2009/7/14 12:00', '2009/7/14 13:00', '2009/7/14 14:00', '2009/7/14 15:00', '2009/7/14 16:00', '2009/7/14 17:00', '2009/7/14 18:00', '2009/7/14 19:00', '2009/7/14 20:00', '2009/7/14 21:00', '2009/7/14 22:00', '2009/7/14 23:00',
- '2009/7/15 0:00', '2009/7/15 1:00', '2009/7/15 2:00', '2009/7/15 3:00', '2009/7/15 4:00', '2009/7/15 5:00', '2009/7/15 6:00', '2009/7/15 7:00', '2009/7/15 8:00', '2009/7/15 9:00', '2009/7/15 10:00', '2009/7/15 11:00', '2009/7/15 12:00', '2009/7/15 13:00', '2009/7/15 14:00', '2009/7/15 15:00', '2009/7/15 16:00', '2009/7/15 17:00', '2009/7/15 18:00', '2009/7/15 19:00', '2009/7/15 20:00', '2009/7/15 21:00', '2009/7/15 22:00', '2009/7/15 23:00',
- '2009/7/16 0:00', '2009/7/16 1:00', '2009/7/16 2:00', '2009/7/16 3:00', '2009/7/16 4:00', '2009/7/16 5:00', '2009/7/16 6:00', '2009/7/16 7:00', '2009/7/16 8:00', '2009/7/16 9:00', '2009/7/16 10:00', '2009/7/16 11:00', '2009/7/16 12:00', '2009/7/16 13:00', '2009/7/16 14:00', '2009/7/16 15:00', '2009/7/16 16:00', '2009/7/16 17:00', '2009/7/16 18:00', '2009/7/16 19:00', '2009/7/16 20:00', '2009/7/16 21:00', '2009/7/16 22:00', '2009/7/16 23:00',
- '2009/7/17 0:00', '2009/7/17 1:00', '2009/7/17 2:00', '2009/7/17 3:00', '2009/7/17 4:00', '2009/7/17 5:00', '2009/7/17 6:00', '2009/7/17 7:00', '2009/7/17 8:00', '2009/7/17 9:00', '2009/7/17 10:00', '2009/7/17 11:00', '2009/7/17 12:00', '2009/7/17 13:00', '2009/7/17 14:00', '2009/7/17 15:00', '2009/7/17 16:00', '2009/7/17 17:00', '2009/7/17 18:00', '2009/7/17 19:00', '2009/7/17 20:00', '2009/7/17 21:00', '2009/7/17 22:00', '2009/7/17 23:00',
- '2009/7/18 0:00', '2009/7/18 1:00', '2009/7/18 2:00', '2009/7/18 3:00', '2009/7/18 4:00', '2009/7/18 5:00', '2009/7/18 6:00', '2009/7/18 7:00', '2009/7/18 8:00', '2009/7/18 9:00', '2009/7/18 10:00', '2009/7/18 11:00', '2009/7/18 12:00', '2009/7/18 13:00', '2009/7/18 14:00', '2009/7/18 15:00', '2009/7/18 16:00', '2009/7/18 17:00', '2009/7/18 18:00', '2009/7/18 19:00', '2009/7/18 20:00', '2009/7/18 21:00', '2009/7/18 22:00', '2009/7/18 23:00',
- '2009/7/19 0:00', '2009/7/19 1:00', '2009/7/19 2:00', '2009/7/19 3:00', '2009/7/19 4:00', '2009/7/19 5:00', '2009/7/19 6:00', '2009/7/19 7:00', '2009/7/19 8:00', '2009/7/19 9:00', '2009/7/19 10:00', '2009/7/19 11:00', '2009/7/19 12:00', '2009/7/19 13:00', '2009/7/19 14:00', '2009/7/19 15:00', '2009/7/19 16:00', '2009/7/19 17:00', '2009/7/19 18:00', '2009/7/19 19:00', '2009/7/19 20:00', '2009/7/19 21:00', '2009/7/19 22:00', '2009/7/19 23:00',
- '2009/7/20 0:00', '2009/7/20 1:00', '2009/7/20 2:00', '2009/7/20 3:00', '2009/7/20 4:00', '2009/7/20 5:00', '2009/7/20 6:00', '2009/7/20 7:00', '2009/7/20 8:00', '2009/7/20 9:00', '2009/7/20 10:00', '2009/7/20 11:00', '2009/7/20 12:00', '2009/7/20 13:00', '2009/7/20 14:00', '2009/7/20 15:00', '2009/7/20 16:00', '2009/7/20 17:00', '2009/7/20 18:00', '2009/7/20 19:00', '2009/7/20 20:00', '2009/7/20 21:00', '2009/7/20 22:00', '2009/7/20 23:00',
- '2009/7/21 0:00', '2009/7/21 1:00', '2009/7/21 2:00', '2009/7/21 3:00', '2009/7/21 4:00', '2009/7/21 5:00', '2009/7/21 6:00', '2009/7/21 7:00', '2009/7/21 8:00', '2009/7/21 9:00', '2009/7/21 10:00', '2009/7/21 11:00', '2009/7/21 12:00', '2009/7/21 13:00', '2009/7/21 14:00', '2009/7/21 15:00', '2009/7/21 16:00', '2009/7/21 17:00', '2009/7/21 18:00', '2009/7/21 19:00', '2009/7/21 20:00', '2009/7/21 21:00', '2009/7/21 22:00', '2009/7/21 23:00',
- '2009/7/22 0:00', '2009/7/22 1:00', '2009/7/22 2:00', '2009/7/22 3:00', '2009/7/22 4:00', '2009/7/22 5:00', '2009/7/22 6:00', '2009/7/22 7:00', '2009/7/22 8:00', '2009/7/22 9:00', '2009/7/22 10:00', '2009/7/22 11:00', '2009/7/22 12:00', '2009/7/22 13:00', '2009/7/22 14:00', '2009/7/22 15:00', '2009/7/22 16:00', '2009/7/22 17:00', '2009/7/22 18:00', '2009/7/22 19:00', '2009/7/22 20:00', '2009/7/22 21:00', '2009/7/22 22:00', '2009/7/22 23:00',
- '2009/7/23 0:00', '2009/7/23 1:00', '2009/7/23 2:00', '2009/7/23 3:00', '2009/7/23 4:00', '2009/7/23 5:00', '2009/7/23 6:00', '2009/7/23 7:00', '2009/7/23 8:00', '2009/7/23 9:00', '2009/7/23 10:00', '2009/7/23 11:00', '2009/7/23 12:00', '2009/7/23 13:00', '2009/7/23 14:00', '2009/7/23 15:00', '2009/7/23 16:00', '2009/7/23 17:00', '2009/7/23 18:00', '2009/7/23 19:00', '2009/7/23 20:00', '2009/7/23 21:00', '2009/7/23 22:00', '2009/7/23 23:00',
- '2009/7/24 0:00', '2009/7/24 1:00', '2009/7/24 2:00', '2009/7/24 3:00', '2009/7/24 4:00', '2009/7/24 5:00', '2009/7/24 6:00', '2009/7/24 7:00', '2009/7/24 8:00', '2009/7/24 9:00', '2009/7/24 10:00', '2009/7/24 11:00', '2009/7/24 12:00', '2009/7/24 13:00', '2009/7/24 14:00', '2009/7/24 15:00', '2009/7/24 16:00', '2009/7/24 17:00', '2009/7/24 18:00', '2009/7/24 19:00', '2009/7/24 20:00', '2009/7/24 21:00', '2009/7/24 22:00', '2009/7/24 23:00',
- '2009/7/25 0:00', '2009/7/25 1:00', '2009/7/25 2:00', '2009/7/25 3:00', '2009/7/25 4:00', '2009/7/25 5:00', '2009/7/25 6:00', '2009/7/25 7:00', '2009/7/25 8:00', '2009/7/25 9:00', '2009/7/25 10:00', '2009/7/25 11:00', '2009/7/25 12:00', '2009/7/25 13:00', '2009/7/25 14:00', '2009/7/25 15:00', '2009/7/25 16:00', '2009/7/25 17:00', '2009/7/25 18:00', '2009/7/25 19:00', '2009/7/25 20:00', '2009/7/25 21:00', '2009/7/25 22:00', '2009/7/25 23:00',
- '2009/7/26 0:00', '2009/7/26 1:00', '2009/7/26 2:00', '2009/7/26 3:00', '2009/7/26 4:00', '2009/7/26 5:00', '2009/7/26 6:00', '2009/7/26 7:00', '2009/7/26 8:00', '2009/7/26 9:00', '2009/7/26 10:00', '2009/7/26 11:00', '2009/7/26 12:00', '2009/7/26 13:00', '2009/7/26 14:00', '2009/7/26 15:00', '2009/7/26 16:00', '2009/7/26 17:00', '2009/7/26 18:00', '2009/7/26 19:00', '2009/7/26 20:00', '2009/7/26 21:00', '2009/7/26 22:00', '2009/7/26 23:00',
- '2009/7/27 0:00', '2009/7/27 1:00', '2009/7/27 2:00', '2009/7/27 3:00', '2009/7/27 4:00', '2009/7/27 5:00', '2009/7/27 6:00', '2009/7/27 7:00', '2009/7/27 8:00', '2009/7/27 9:00', '2009/7/27 10:00', '2009/7/27 11:00', '2009/7/27 12:00', '2009/7/27 13:00', '2009/7/27 14:00', '2009/7/27 15:00', '2009/7/27 16:00', '2009/7/27 17:00', '2009/7/27 18:00', '2009/7/27 19:00', '2009/7/27 20:00', '2009/7/27 21:00', '2009/7/27 22:00', '2009/7/27 23:00',
- '2009/7/28 0:00', '2009/7/28 1:00', '2009/7/28 2:00', '2009/7/28 3:00', '2009/7/28 4:00', '2009/7/28 5:00', '2009/7/28 6:00', '2009/7/28 7:00', '2009/7/28 8:00', '2009/7/28 9:00', '2009/7/28 10:00', '2009/7/28 11:00', '2009/7/28 12:00', '2009/7/28 13:00', '2009/7/28 14:00', '2009/7/28 15:00', '2009/7/28 16:00', '2009/7/28 17:00', '2009/7/28 18:00', '2009/7/28 19:00', '2009/7/28 20:00', '2009/7/28 21:00', '2009/7/28 22:00', '2009/7/28 23:00',
- '2009/7/29 0:00', '2009/7/29 1:00', '2009/7/29 2:00', '2009/7/29 3:00', '2009/7/29 4:00', '2009/7/29 5:00', '2009/7/29 6:00', '2009/7/29 7:00', '2009/7/29 8:00', '2009/7/29 9:00', '2009/7/29 10:00', '2009/7/29 11:00', '2009/7/29 12:00', '2009/7/29 13:00', '2009/7/29 14:00', '2009/7/29 15:00', '2009/7/29 16:00', '2009/7/29 17:00', '2009/7/29 18:00', '2009/7/29 19:00', '2009/7/29 20:00', '2009/7/29 21:00', '2009/7/29 22:00', '2009/7/29 23:00',
- '2009/7/30 0:00', '2009/7/30 1:00', '2009/7/30 2:00', '2009/7/30 3:00', '2009/7/30 4:00', '2009/7/30 5:00', '2009/7/30 6:00', '2009/7/30 7:00', '2009/7/30 8:00', '2009/7/30 9:00', '2009/7/30 10:00', '2009/7/30 11:00', '2009/7/30 12:00', '2009/7/30 13:00', '2009/7/30 14:00', '2009/7/30 15:00', '2009/7/30 16:00', '2009/7/30 17:00', '2009/7/30 18:00', '2009/7/30 19:00', '2009/7/30 20:00', '2009/7/30 21:00', '2009/7/30 22:00', '2009/7/30 23:00',
- '2009/7/31 0:00', '2009/7/31 1:00', '2009/7/31 2:00', '2009/7/31 3:00', '2009/7/31 4:00', '2009/7/31 5:00', '2009/7/31 6:00', '2009/7/31 7:00', '2009/7/31 8:00', '2009/7/31 9:00', '2009/7/31 10:00', '2009/7/31 11:00', '2009/7/31 12:00', '2009/7/31 13:00', '2009/7/31 14:00', '2009/7/31 15:00', '2009/7/31 16:00', '2009/7/31 17:00', '2009/7/31 18:00', '2009/7/31 19:00', '2009/7/31 20:00', '2009/7/31 21:00', '2009/7/31 22:00', '2009/7/31 23:00',
- '2009/8/1 0:00', '2009/8/1 1:00', '2009/8/1 2:00', '2009/8/1 3:00', '2009/8/1 4:00', '2009/8/1 5:00', '2009/8/1 6:00', '2009/8/1 7:00', '2009/8/1 8:00', '2009/8/1 9:00', '2009/8/1 10:00', '2009/8/1 11:00', '2009/8/1 12:00', '2009/8/1 13:00', '2009/8/1 14:00', '2009/8/1 15:00', '2009/8/1 16:00', '2009/8/1 17:00', '2009/8/1 18:00', '2009/8/1 19:00', '2009/8/1 20:00', '2009/8/1 21:00', '2009/8/1 22:00', '2009/8/1 23:00', '2009/8/2 0:00', '2009/8/2 1:00', '2009/8/2 2:00', '20 [...]
- '2009/9/1 0:00', '2009/9/1 1:00', '2009/9/1 2:00', '2009/9/1 3:00', '2009/9/1 4:00', '2009/9/1 5:00', '2009/9/1 6:00', '2009/9/1 7:00', '2009/9/1 8:00', '2009/9/1 9:00', '2009/9/1 10:00', '2009/9/1 11:00', '2009/9/1 12:00', '2009/9/1 13:00', '2009/9/1 14:00', '2009/9/1 15:00', '2009/9/1 16:00', '2009/9/1 17:00', '2009/9/1 18:00', '2009/9/1 19:00', '2009/9/1 20:00', '2009/9/1 21:00', '2009/9/1 22:00', '2009/9/1 23:00', '2009/9/2 0:00', '2009/9/2 1:00', '2009/9/2 2:00', '20 [...]
- '2009/10/1 0:00', '2009/10/1 1:00', '2009/10/1 2:00', '2009/10/1 3:00', '2009/10/1 4:00', '2009/10/1 5:00', '2009/10/1 6:00', '2009/10/1 7:00', '2009/10/1 8:00', '2009/10/1 9:00', '2009/10/1 10:00', '2009/10/1 11:00', '2009/10/1 12:00', '2009/10/1 13:00', '2009/10/1 14:00', '2009/10/1 15:00', '2009/10/1 16:00', '2009/10/1 17:00', '2009/10/1 18:00', '2009/10/1 19:00', '2009/10/1 20:00', '2009/10/1 21:00', '2009/10/1 22:00', '2009/10/1 23:00', '2009/10/2 0:00', '2009/10/2 1 [...]
- ].map(function (str) {
- return str.replace(' ', '\n');
- })
- }
- ],
- yAxis: [
- {
- name: '流量(m^3/s)',
- type: 'value',
- max: 500
- },
- {
- name: '降雨量(mm)',
- nameLocation: 'start',
- max: 5,
- type: 'value',
- inverse: true
- }
- ],
- series: [
- {
- name: '流量',
- type: 'line',
- areaStyle: {},
- lineStyle: {
- width: 1
- },
- emphasis: {
- focus: 'series'
- },
- markArea: {
- silent: true,
- itemStyle: {
- opacity: 0.3
- },
- data: [[{
- xAxis: '2009/9/12\n7:00'
- }, {
- xAxis: '2009/9/22\n7:00'
- }]]
- },
- data: [
- 0.97,0.96,0.96,0.95,0.95,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0.94,0 [...]
- ]
- },
- {
- name: '降雨量',
- type: 'line',
- yAxisIndex: 1,
- areaStyle: {},
- lineStyle: {
- width: 1
- },
- emphasis: {
- focus: 'series'
- },
- markArea: {
- silent: true,
- itemStyle: {
- opacity: 0.3
- },
- data: [
- [{
- xAxis: '2009/9/10\n7:00'
- }, {
- xAxis: '2009/9/20\n7:00'
- }]
- ]
- },
- data: [
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.005,0.017,0.017,0.017,0.017,0.011,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.021,0.026,0.03,0.036,0.036,0.195,0.221,0.019,0.013,0.017,0.03,0.03,0.03,0.046,0.045,0.038,0.084,0.045,0.045,0.037,0.034,0.035,0.036,0.044,0.052,0.048,0.109,0.033,0.029,0.04,0.042,0.042,0.042,0.073,0.076,0.062,0.066,0.066,0.075,0.096,0.128 [...]
- ]
- }
- ]
-};
diff --git a/public/data/area-simple.js b/public/data/area-simple.js
deleted file mode 100644
index 84b9682..0000000
--- a/public/data/area-simple.js
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-title: Large scale area chart
-titleCN: 大数据量面积图
-category: 'line, dataZoom'
-difficulty: 4
-*/
-
-var base = +new Date(1968, 9, 3);
-var oneDay = 24 * 3600 * 1000;
-var date = [];
-
-var data = [Math.random() * 300];
-
-for (var i = 1; i < 20000; i++) {
- var now = new Date(base += oneDay);
- date.push([now.getFullYear(), now.getMonth() + 1, now.getDate()].join('/'));
- data.push(Math.round((Math.random() - 0.5) * 20 + data[i - 1]));
-}
-
-option = {
- tooltip: {
- trigger: 'axis',
- position: function (pt) {
- return [pt[0], '10%'];
- }
- },
- title: {
- left: 'center',
- text: '大数据量面积图',
- },
- toolbox: {
- feature: {
- dataZoom: {
- yAxisIndex: 'none'
- },
- restore: {},
- saveAsImage: {}
- }
- },
- xAxis: {
- type: 'category',
- boundaryGap: false,
- data: date
- },
- yAxis: {
- type: 'value',
- boundaryGap: [0, '100%']
- },
- dataZoom: [{
- type: 'inside',
- start: 0,
- end: 10
- }, {
- start: 0,
- end: 10
- }],
- series: [
- {
- name: '模拟数据',
- type: 'line',
- symbol: 'none',
- sampling: 'lttb',
- itemStyle: {
- color: 'rgb(255, 70, 131)'
- },
- areaStyle: {
- color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
- offset: 0,
- color: 'rgb(255, 158, 68)'
- }, {
- offset: 1,
- color: 'rgb(255, 70, 131)'
- }])
- },
- data: data
- }
- ]
-};
diff --git a/public/data/area-stack-gradient.js b/public/data/area-stack-gradient.js
deleted file mode 100644
index 320f241..0000000
--- a/public/data/area-stack-gradient.js
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
-title: Gradient Stacked area chart
-titleCN: 渐变堆叠面积图
-category: line
-difficulty: 2
-*/
-
-option = {
- color: ['#80FFA5', '#00DDFF', '#37A2FF', '#FF0087', '#FFBF00'],
- title: {
- text: '渐变堆叠面积图'
- },
- tooltip: {
- trigger: 'axis',
- axisPointer: {
- type: 'cross',
- label: {
- backgroundColor: '#6a7985'
- }
- }
- },
- legend: {
- data: ['Line 1', 'Line 2', 'Line 3', 'Line 4', 'Line 5']
- },
- toolbox: {
- feature: {
- saveAsImage: {}
- }
- },
- grid: {
- left: '3%',
- right: '4%',
- bottom: '3%',
- containLabel: true
- },
- xAxis: [
- {
- type: 'category',
- boundaryGap: false,
- data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
- }
- ],
- yAxis: [
- {
- type: 'value'
- }
- ],
- series: [
- {
- name: 'Line 1',
- type: 'line',
- stack: '总量',
- smooth: true,
- lineStyle: {
- width: 0
- },
- showSymbol: false,
- areaStyle: {
- opacity: 0.8,
- color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
- offset: 0,
- color: 'rgba(128, 255, 165)'
- }, {
- offset: 1,
- color: 'rgba(1, 191, 236)'
- }])
- },
- emphasis: {
- focus: 'series'
- },
- data: [140, 232, 101, 264, 90, 340, 250]
- },
- {
- name: 'Line 2',
- type: 'line',
- stack: '总量',
- smooth: true,
- lineStyle: {
- width: 0
- },
- showSymbol: false,
- areaStyle: {
- opacity: 0.8,
- color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
- offset: 0,
- color: 'rgba(0, 221, 255)'
- }, {
- offset: 1,
- color: 'rgba(77, 119, 255)'
- }])
- },
- emphasis: {
- focus: 'series'
- },
- data: [120, 282, 111, 234, 220, 340, 310]
- },
- {
- name: 'Line 3',
- type: 'line',
- stack: '总量',
- smooth: true,
- lineStyle: {
- width: 0
- },
- showSymbol: false,
- areaStyle: {
- opacity: 0.8,
- color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
- offset: 0,
- color: 'rgba(55, 162, 255)'
- }, {
- offset: 1,
- color: 'rgba(116, 21, 219)'
- }])
- },
- emphasis: {
- focus: 'series'
- },
- data: [320, 132, 201, 334, 190, 130, 220]
- },
- {
- name: 'Line 4',
- type: 'line',
- stack: '总量',
- smooth: true,
- lineStyle: {
- width: 0
- },
- showSymbol: false,
- areaStyle: {
- opacity: 0.8,
- color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
- offset: 0,
- color: 'rgba(255, 0, 135)'
- }, {
- offset: 1,
- color: 'rgba(135, 0, 157)'
- }])
- },
- emphasis: {
- focus: 'series'
- },
- data: [220, 402, 231, 134, 190, 230, 120]
- },
- {
- name: 'Line 5',
- type: 'line',
- stack: '总量',
- smooth: true,
- lineStyle: {
- width: 0
- },
- showSymbol: false,
- label: {
- show: true,
- position: 'top'
- },
- areaStyle: {
- opacity: 0.8,
- color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
- offset: 0,
- color: 'rgba(255, 191, 0)'
- }, {
- offset: 1,
- color: 'rgba(224, 62, 76)'
- }])
- },
- emphasis: {
- focus: 'series'
- },
- data: [220, 302, 181, 234, 210, 290, 150]
- }
- ]
-};
\ No newline at end of file
diff --git a/public/data/area-stack.js b/public/data/area-stack.js
deleted file mode 100644
index f229254..0000000
--- a/public/data/area-stack.js
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
-title: Stacked area chart
-titleCN: 堆叠面积图
-category: line
-difficulty: 2
-*/
-
-option = {
- title: {
- text: '堆叠区域图'
- },
- tooltip: {
- trigger: 'axis',
- axisPointer: {
- type: 'cross',
- label: {
- backgroundColor: '#6a7985'
- }
- }
- },
- legend: {
- data: ['邮件营销', '联盟广告', '视频广告', '直接访问', '搜索引擎']
- },
- toolbox: {
- feature: {
- saveAsImage: {}
- }
- },
- grid: {
- left: '3%',
- right: '4%',
- bottom: '3%',
- containLabel: true
- },
- xAxis: [
- {
- type: 'category',
- boundaryGap: false,
- data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
- }
- ],
- yAxis: [
- {
- type: 'value'
- }
- ],
- series: [
- {
- name: '邮件营销',
- type: 'line',
- stack: '总量',
- areaStyle: {},
- emphasis: {
- focus: 'series'
- },
- data: [120, 132, 101, 134, 90, 230, 210]
- },
- {
- name: '联盟广告',
- type: 'line',
- stack: '总量',
- areaStyle: {},
- emphasis: {
- focus: 'series'
- },
- data: [220, 182, 191, 234, 290, 330, 310]
- },
- {
- name: '视频广告',
- type: 'line',
- stack: '总量',
- areaStyle: {},
- emphasis: {
- focus: 'series'
- },
- data: [150, 232, 201, 154, 190, 330, 410]
- },
- {
- name: '直接访问',
- type: 'line',
- stack: '总量',
- areaStyle: {},
- emphasis: {
- focus: 'series'
- },
- data: [320, 332, 301, 334, 390, 330, 320]
- },
- {
- name: '搜索引擎',
- type: 'line',
- stack: '总量',
- label: {
- show: true,
- position: 'top'
- },
- areaStyle: {},
- emphasis: {
- focus: 'series'
- },
- data: [820, 932, 901, 934, 1290, 1330, 1320]
- }
- ]
-};
diff --git a/public/data/area-time-axis.js b/public/data/area-time-axis.js
deleted file mode 100644
index c17d393..0000000
--- a/public/data/area-time-axis.js
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
-title: Area Chart with Time Axis
-titleCN: 时间轴折线图
-category: line
-difficulty: 5
-*/
-
-var base = +new Date(1988, 9, 3);
-var oneDay = 24 * 3600 * 1000;
-
-var data = [[base, Math.random() * 300]];
-
-for (var i = 1; i < 20000; i++) {
- var now = new Date(base += oneDay);
- data.push([
- [now.getFullYear(), now.getMonth() + 1, now.getDate()].join('/'),
- Math.round((Math.random() - 0.5) * 20 + data[i - 1][1])
- ]);
-}
-
-option = {
- tooltip: {
- trigger: 'axis',
- position: function (pt) {
- return [pt[0], '10%'];
- }
- },
- title: {
- left: 'center',
- text: '大数据量面积图',
- },
- toolbox: {
- feature: {
- dataZoom: {
- yAxisIndex: 'none'
- },
- restore: {},
- saveAsImage: {}
- }
- },
- xAxis: {
- type: 'time',
- boundaryGap: false
- },
- yAxis: {
- type: 'value',
- boundaryGap: [0, '100%']
- },
- dataZoom: [{
- type: 'inside',
- start: 0,
- end: 20
- }, {
- start: 0,
- end: 20
- }],
- series: [
- {
- name: '模拟数据',
- type: 'line',
- smooth: true,
- symbol: 'none',
- areaStyle: {},
- data: data
- }
- ]
-};
\ No newline at end of file
diff --git a/public/data/bar-animation-delay.js b/public/data/bar-animation-delay.js
deleted file mode 100644
index e06247a..0000000
--- a/public/data/bar-animation-delay.js
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
-title: Animation Delay
-titleCN: 柱状图动画延迟
-category: bar
-difficulty: 5
-*/
-
-var xAxisData = [];
-var data1 = [];
-var data2 = [];
-for (var i = 0; i < 100; i++) {
- xAxisData.push('类目' + i);
- data1.push((Math.sin(i / 5) * (i / 5 -10) + i / 6) * 5);
- data2.push((Math.cos(i / 5) * (i / 5 -10) + i / 6) * 5);
-}
-
-option = {
- title: {
- text: '柱状图动画延迟'
- },
- legend: {
- data: ['bar', 'bar2']
- },
- toolbox: {
- // y: 'bottom',
- feature: {
- magicType: {
- type: ['stack', 'tiled']
- },
- dataView: {},
- saveAsImage: {
- pixelRatio: 2
- }
- }
- },
- tooltip: {},
- xAxis: {
- data: xAxisData,
- splitLine: {
- show: false
- }
- },
- yAxis: {
- },
- series: [{
- name: 'bar',
- type: 'bar',
- data: data1,
- emphasis: {
- focus: 'series'
- },
- animationDelay: function (idx) {
- return idx * 10;
- }
- }, {
- name: 'bar2',
- type: 'bar',
- data: data2,
- emphasis: {
- focus: 'series'
- },
- animationDelay: function (idx) {
- return idx * 10 + 100;
- }
- }],
- animationEasing: 'elasticOut',
- animationDelayUpdate: function (idx) {
- return idx * 5;
- }
-};
\ No newline at end of file
diff --git a/public/data/bar-background.js b/public/data/bar-background.js
deleted file mode 100644
index 74d9ce0..0000000
--- a/public/data/bar-background.js
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
-title: Bar with Background
-category: bar
-titleCN: 带背景色的柱状图
-difficulty: 0
-*/
-
-option = {
- xAxis: {
- type: 'category',
- data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
- },
- yAxis: {
- type: 'value'
- },
- series: [{
- data: [120, 200, 150, 80, 70, 110, 130],
- type: 'bar',
- showBackground: true,
- backgroundStyle: {
- color: 'rgba(180, 180, 180, 0.2)'
- }
- }]
-};
diff --git a/public/data/bar-brush.js b/public/data/bar-brush.js
deleted file mode 100644
index 82f6178..0000000
--- a/public/data/bar-brush.js
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
-title: Brush Select on Column Chart
-titleCN: 柱状图框选
-category: bar
-difficulty: 4
-*/
-
-var xAxisData = [];
-var data1 = [];
-var data2 = [];
-var data3 = [];
-var data4 = [];
-
-for (var i = 0; i < 10; i++) {
- xAxisData.push('Class' + i);
- data1.push((Math.random() * 2).toFixed(2));
- data2.push((Math.random() * 5).toFixed(2));
- data3.push((Math.random() + 0.3).toFixed(2));
- data4.push(-Math.random().toFixed(2));
-}
-
-var emphasisStyle = {
- itemStyle: {
- shadowBlur: 10,
- shadowColor: 'rgba(0,0,0,0.3)'
- }
-};
-
-option = {
- legend: {
- data: ['bar', 'bar2', 'bar3', 'bar4'],
- left: '10%'
- },
- brush: {
- toolbox: ['rect', 'polygon', 'lineX', 'lineY', 'keep', 'clear'],
- xAxisIndex: 0
- },
- toolbox: {
- feature: {
- magicType: {
- type: ['stack', 'tiled']
- },
- dataView: {}
- }
- },
- tooltip: {},
- xAxis: {
- data: xAxisData,
- name: 'X Axis',
- axisLine: {onZero: true},
- splitLine: {show: false},
- splitArea: {show: false}
- },
- yAxis: {},
- grid: {
- bottom: 100
- },
- series: [
- {
- name: 'bar',
- type: 'bar',
- stack: 'one',
- emphasis: emphasisStyle,
- data: data1
- },
- {
- name: 'bar2',
- type: 'bar',
- stack: 'one',
- emphasis: emphasisStyle,
- data: data2
- },
- {
- name: 'bar3',
- type: 'bar',
- stack: 'two',
- emphasis: emphasisStyle,
- data: data3
- },
- {
- name: 'bar4',
- type: 'bar',
- stack: 'two',
- emphasis: emphasisStyle,
- data: data4
- }
- ]
-};
-
-myChart.on('brushSelected', renderBrushed);
-
-function renderBrushed(params) {
- var brushed = [];
- var brushComponent = params.batch[0];
-
- for (var sIdx = 0; sIdx < brushComponent.selected.length; sIdx++) {
- var rawIndices = brushComponent.selected[sIdx].dataIndex;
- brushed.push('[Series ' + sIdx + '] ' + rawIndices.join(', '));
- }
-
- myChart.setOption({
- title: {
- backgroundColor: '#333',
- text: 'SELECTED DATA INDICES: \n' + brushed.join('\n'),
- bottom: 0,
- right:'10%',
- width: 100,
- textStyle: {
- fontSize: 12,
- color: '#fff'
- }
- }
- });
-}
\ No newline at end of file
diff --git a/public/data/bar-data-color.js b/public/data/bar-data-color.js
deleted file mode 100644
index f6e42c7..0000000
--- a/public/data/bar-data-color.js
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
-title: Set Style of Single Bar.
-category: bar
-titleCN: 自定义单个柱子颜色
-difficulty: 1
-*/
-
-option = {
- xAxis: {
- type: 'category',
- data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
- },
- yAxis: {
- type: 'value'
- },
- series: [{
- data: [120, {
- value: 200,
- itemStyle: {
- color: '#a90000'
- }
- }, 150, 80, 70, 110, 130],
- type: 'bar'
- }]
-};
\ No newline at end of file
diff --git a/public/data/bar-drilldown.js b/public/data/bar-drilldown.js
deleted file mode 100644
index 8a95a53..0000000
--- a/public/data/bar-drilldown.js
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
-title: Bar Chart Drilldown Animation.
-category: bar
-titleCN: 柱状图下钻动画
-difficulty: 5
-*/
-
-option = {
- xAxis: {
- data: ['Animals', 'Fruits', 'Cars']
- },
- yAxis: {},
- dataGroupId: '',
- animationDurationUpdate: 500,
- series: {
- type: 'bar',
- id: 'sales',
- data: [{
- value: 5,
- groupId: 'animals'
- }, {
- value: 2,
- groupId: 'fruits'
- }, {
- value: 4,
- groupId: 'cars'
- }],
- universalTransition: {
- enabled: true,
- divideShape: 'clone'
- }
- }
-};
-
-var drilldownData = [{
- dataGroupId: 'animals',
- data: [
- ['Cats', 4],
- ['Dogs', 2],
- ['Cows', 1],
- ['Sheep', 2],
- ['Pigs', 1]
- ]
-}, {
- dataGroupId: 'fruits',
- data: [
- ['Apples', 4],
- ['Oranges', 2]
- ]
-}, {
- dataGroupId: 'cars',
- data: [
- ['Toyota', 4],
- ['Opel', 2],
- ['Volkswagen', 2]
- ]
-}];
-
-myChart.on('click', function (event) {
- if (event.data) {
- var subData = drilldownData.find(function (data) {
- return data.dataGroupId === event.data.groupId;
- });
- if (!subData) {
- return;
- }
- myChart.setOption({
- xAxis: {
- data: subData.data.map(function (item) {
- return item[0];
- })
- },
- series: {
- type: 'bar',
- id: 'sales',
- dataGroupId: subData.dataGroupId,
- data: subData.data.map(function (item) {
- return item[1];
- }),
- universalTransition: {
- enabled: true,
- divideShape: 'clone'
- }
- },
- graphic: [{
- type: 'text',
- left: 50,
- top: 20,
- style: {
- text: 'Back',
- fontSize: 18
- },
- onclick: function () {
- myChart.setOption(option);
- }
- }]
- });
- }
-});
\ No newline at end of file
diff --git a/public/data/bar-gradient.js b/public/data/bar-gradient.js
deleted file mode 100644
index a98dd16..0000000
--- a/public/data/bar-gradient.js
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
-title: Clickable Column Chart with Gradient
-titleCN: 特性示例:渐变色 阴影 点击缩放
-category: bar
-difficulty: 3
-*/
-
-var dataAxis = ['点', '击', '柱', '子', '或', '者', '两', '指', '在', '触', '屏', '上', '滑', '动', '能', '够', '自', '动', '缩', '放'];
-var data = [220, 182, 191, 234, 290, 330, 310, 123, 442, 321, 90, 149, 210, 122, 133, 334, 198, 123, 125, 220];
-var yMax = 500;
-var dataShadow = [];
-
-for (var i = 0; i < data.length; i++) {
- dataShadow.push(yMax);
-}
-
-option = {
- title: {
- text: '特性示例:渐变色 阴影 点击缩放',
- subtext: 'Feature Sample: Gradient Color, Shadow, Click Zoom'
- },
- xAxis: {
- data: dataAxis,
- axisLabel: {
- inside: true,
- textStyle: {
- color: '#fff'
- }
- },
- axisTick: {
- show: false
- },
- axisLine: {
- show: false
- },
- z: 10
- },
- yAxis: {
- axisLine: {
- show: false
- },
- axisTick: {
- show: false
- },
- axisLabel: {
- textStyle: {
- color: '#999'
- }
- }
- },
- dataZoom: [
- {
- type: 'inside'
- }
- ],
- series: [
- {
- type: 'bar',
- showBackground: true,
- itemStyle: {
- color: new echarts.graphic.LinearGradient(
- 0, 0, 0, 1,
- [
- {offset: 0, color: '#83bff6'},
- {offset: 0.5, color: '#188df0'},
- {offset: 1, color: '#188df0'}
- ]
- )
- },
- emphasis: {
- itemStyle: {
- color: new echarts.graphic.LinearGradient(
- 0, 0, 0, 1,
- [
- {offset: 0, color: '#2378f7'},
- {offset: 0.7, color: '#2378f7'},
- {offset: 1, color: '#83bff6'}
- ]
- )
- }
- },
- data: data
- }
- ]
-};
-
-// Enable data zoom when user click bar.
-var zoomSize = 6;
-myChart.on('click', function (params) {
- console.log(dataAxis[Math.max(params.dataIndex - zoomSize / 2, 0)]);
- myChart.dispatchAction({
- type: 'dataZoom',
- startValue: dataAxis[Math.max(params.dataIndex - zoomSize / 2, 0)],
- endValue: dataAxis[Math.min(params.dataIndex + zoomSize / 2, data.length - 1)]
- });
-});
\ No newline at end of file
diff --git a/public/data/bar-histogram.js b/public/data/bar-histogram.js
deleted file mode 100644
index 9a5d405..0000000
--- a/public/data/bar-histogram.js
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
-title: Histogram with Custom Series
-category: custom
-titleCN: 直方图(自定义系列)
-difficulty: 0
-*/
-
-// See https://github.com/ecomfe/echarts-stat
-echarts.registerTransform(ecStat.transform.histogram);
-
-option = {
- dataset: [{
- source: [
- [8.3, 143],
- [8.6, 214],
- [8.8, 251],
- [10.5, 26],
- [10.7, 86],
- [10.8, 93],
- [11.0, 176],
- [11.0, 39],
- [11.1, 221],
- [11.2, 188],
- [11.3, 57],
- [11.4, 91],
- [11.4, 191],
- [11.7, 8],
- [12.0, 196],
- [12.9, 177],
- [12.9, 153],
- [13.3, 201],
- [13.7, 199],
- [13.8, 47],
- [14.0, 81],
- [14.2, 98],
- [14.5, 121],
- [16.0, 37],
- [16.3, 12],
- [17.3, 105],
- [17.5, 168],
- [17.9, 84],
- [18.0, 197],
- [18.0, 155],
- [20.6, 125]
- ]
- }, {
- transform: {
- type: 'ecStat:histogram'
- }
- }, {
- transform: {
- type: 'ecStat:histogram',
- // print: true,
- config: { dimensions: [1] }
- }
- }],
- tooltip: {
- },
- grid: [{
- top: '50%',
- right: '50%'
- }, {
- bottom: '52%',
- right: '50%',
- }, {
- top: '50%',
- left: '52%'
- }],
- xAxis: [{
- scale: true,
- gridIndex: 0
- }, {
- type: 'category',
- scale: true,
- axisTick: { show: false },
- axisLabel: { show: false },
- axisLine: { show: false },
- gridIndex: 1
- }, {
- scale: true,
- gridIndex: 2
- }],
- yAxis: [{
- gridIndex: 0
- }, {
- gridIndex: 1
- }, {
- type: 'category',
- axisTick: { show: false },
- axisLabel: { show: false },
- axisLine: { show: false },
- gridIndex: 2
- }],
- series: [{
- name: 'origianl scatter',
- type: 'scatter',
- xAxisIndex: 0,
- yAxisIndex: 0,
- encode: { tooltip: [0, 1] },
- datasetIndex: 0
- }, {
- name: 'histogram',
- type: 'bar',
- xAxisIndex: 1,
- yAxisIndex: 1,
- barWidth: '99.3%',
- label: {
- show: true,
- position: 'top'
- },
- encode: { x: 0, y: 1, itemName: 4 },
- datasetIndex: 1
- }, {
- name: 'histogram',
- type: 'bar',
- xAxisIndex: 2,
- yAxisIndex: 2,
- barWidth: '99.3%',
- label: {
- show: true,
- position: 'right'
- },
- encode: { x: 1, y: 0, itemName: 4 },
- datasetIndex: 2
- }]
-};
diff --git a/public/data/bar-label-rotation.js b/public/data/bar-label-rotation.js
deleted file mode 100644
index 141a643..0000000
--- a/public/data/bar-label-rotation.js
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
-title: Bar Label Rotation
-titleCN: 柱状图标签旋转
-category: bar
-difficulty: 3
-*/
-
-var posList = [
- 'left', 'right', 'top', 'bottom',
- 'inside',
- 'insideTop', 'insideLeft', 'insideRight', 'insideBottom',
- 'insideTopLeft', 'insideTopRight', 'insideBottomLeft', 'insideBottomRight'
-];
-
-app.configParameters = {
- rotate: {
- min: -90,
- max: 90
- },
- align: {
- options: {
- left: 'left',
- center: 'center',
- right: 'right'
- }
- },
- verticalAlign: {
- options: {
- top: 'top',
- middle: 'middle',
- bottom: 'bottom'
- }
- },
- position: {
- options: posList.reduce(function (map, pos) {
- map[pos] = pos;
- return map;
- }, {})
- },
- distance: {
- min: 0,
- max: 100
- }
-};
-
-app.config = {
- rotate: 90,
- align: 'left',
- verticalAlign: 'middle',
- position: 'insideBottom',
- distance: 15,
- onChange: function () {
- var labelOption = {
- normal: {
- rotate: app.config.rotate,
- align: app.config.align,
- verticalAlign: app.config.verticalAlign,
- position: app.config.position,
- distance: app.config.distance
- }
- };
- myChart.setOption({
- series: [{
- label: labelOption
- }, {
- label: labelOption
- }, {
- label: labelOption
- }, {
- label: labelOption
- }]
- });
- }
-};
-
-
-var labelOption = {
- show: true,
- position: app.config.position,
- distance: app.config.distance,
- align: app.config.align,
- verticalAlign: app.config.verticalAlign,
- rotate: app.config.rotate,
- formatter: '{c} {name|{a}}',
- fontSize: 16,
- rich: {
- name: {
- }
- }
-};
-
-option = {
- tooltip: {
- trigger: 'axis',
- axisPointer: {
- type: 'shadow'
- }
- },
- legend: {
- data: ['Forest', 'Steppe', 'Desert', 'Wetland']
- },
- toolbox: {
- show: true,
- orient: 'vertical',
- left: 'right',
- top: 'center',
- feature: {
- mark: {show: true},
- dataView: {show: true, readOnly: false},
- magicType: {show: true, type: ['line', 'bar', 'stack', 'tiled']},
- restore: {show: true},
- saveAsImage: {show: true}
- }
- },
- xAxis: [
- {
- type: 'category',
- axisTick: {show: false},
- data: ['2012', '2013', '2014', '2015', '2016']
- }
- ],
- yAxis: [
- {
- type: 'value'
- }
- ],
- series: [
- {
- name: 'Forest',
- type: 'bar',
- barGap: 0,
- label: labelOption,
- emphasis: {
- focus: 'series'
- },
- data: [320, 332, 301, 334, 390]
- },
- {
- name: 'Steppe',
- type: 'bar',
- label: labelOption,
- emphasis: {
- focus: 'series'
- },
- data: [220, 182, 191, 234, 290]
- },
- {
- name: 'Desert',
- type: 'bar',
- label: labelOption,
- emphasis: {
- focus: 'series'
- },
- data: [150, 232, 201, 154, 190]
- },
- {
- name: 'Wetland',
- type: 'bar',
- label: labelOption,
- emphasis: {
- focus: 'series'
- },
- data: [98, 77, 101, 99, 40]
- }
- ]
-};
\ No newline at end of file
diff --git a/public/data/bar-large.js b/public/data/bar-large.js
deleted file mode 100644
index 926c0ee..0000000
--- a/public/data/bar-large.js
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
-title: Large Scale Bar Chart
-category: bar
-titleCN: 大数据量柱图
-difficulty: 5
-*/
-
-
-var dataCount = 5e5;
-var data = generateData(dataCount);
-
-var option = {
- title: {
- text: echarts.format.addCommas(dataCount) + ' Data',
- left: 10
- },
- toolbox: {
- feature: {
- dataZoom: {
- yAxisIndex: false
- },
- saveAsImage: {
- pixelRatio: 2
- }
- }
- },
- tooltip: {
- trigger: 'axis',
- axisPointer: {
- type: 'shadow'
- }
- },
- grid: {
- bottom: 90
- },
- dataZoom: [{
- type: 'inside'
- }, {
- type: 'slider'
- }],
- xAxis: {
- data: data.categoryData,
- silent: false,
- splitLine: {
- show: false
- },
- splitArea: {
- show: false
- }
- },
- yAxis: {
- splitArea: {
- show: false
- }
- },
- series: [{
- type: 'bar',
- data: data.valueData,
- // Set `large` for large data amount
- large: true
- }]
-};
-
-function generateData(count) {
- var baseValue = Math.random() * 1000;
- var time = +new Date(2011, 0, 1);
- var smallBaseValue;
-
- function next(idx) {
- smallBaseValue = idx % 30 === 0
- ? Math.random() * 700
- : (smallBaseValue + Math.random() * 500 - 250);
- baseValue += Math.random() * 20 - 10;
- return Math.max(
- 0,
- Math.round(baseValue + smallBaseValue) + 3000
- );
- }
-
- var categoryData = [];
- var valueData = [];
-
- for (var i = 0; i < count; i++) {
- categoryData.push(echarts.format.formatTime('yyyy-MM-dd\nhh:mm:ss', time));
- valueData.push(next(i).toFixed(2));
- time += 1000;
- }
-
- return {
- categoryData: categoryData,
- valueData: valueData
- };
-}
diff --git a/public/data/bar-negative.js b/public/data/bar-negative.js
deleted file mode 100644
index 8cfd1c6..0000000
--- a/public/data/bar-negative.js
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-title: Bar Chart with Negative Value
-titleCN: 正负条形图
-category: bar
-difficulty: 4
-*/
-
-option = {
- tooltip: {
- trigger: 'axis',
- axisPointer: { // 坐标轴指示器,坐标轴触发有效
- type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
- }
- },
- legend: {
- data: ['利润', '支出', '收入']
- },
- grid: {
- left: '3%',
- right: '4%',
- bottom: '3%',
- containLabel: true
- },
- xAxis: [
- {
- type: 'value'
- }
- ],
- yAxis: [
- {
- type: 'category',
- axisTick: {
- show: false
- },
- data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
- }
- ],
- series: [
- {
- name: '利润',
- type: 'bar',
- label: {
- show: true,
- position: 'inside'
- },
- emphasis: {
- focus: 'series'
- },
- data: [200, 170, 240, 244, 200, 220, 210]
- },
- {
- name: '收入',
- type: 'bar',
- stack: '总量',
- label: {
- show: true
- },
- emphasis: {
- focus: 'series'
- },
- data: [320, 302, 341, 374, 390, 450, 420]
- },
- {
- name: '支出',
- type: 'bar',
- stack: '总量',
- label: {
- show: true,
- position: 'left'
- },
- emphasis: {
- focus: 'series'
- },
- data: [-120, -132, -101, -134, -190, -230, -210]
- }
- ]
-};
diff --git a/public/data/bar-negative2.js b/public/data/bar-negative2.js
deleted file mode 100644
index 64fcde9..0000000
--- a/public/data/bar-negative2.js
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
-title: Bar Chart with Negative Value
-titleCN: 交错正负轴标签
-category: bar
-difficulty: 2
-*/
-
-var labelRight = {
- position: 'right'
-};
-option = {
- title: {
- text: '交错正负轴标签',
- subtext: 'From ExcelHome',
- sublink: 'http://e.weibo.com/1341556070/AjwF2AgQm'
- },
- tooltip: {
- trigger: 'axis',
- axisPointer: { // 坐标轴指示器,坐标轴触发有效
- type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
- }
- },
- grid: {
- top: 80,
- bottom: 30
- },
- xAxis: {
- type: 'value',
- position: 'top',
- splitLine: {
- lineStyle: {
- type: 'dashed'
- }
- }
- },
- yAxis: {
- type: 'category',
- axisLine: {show: false},
- axisLabel: {show: false},
- axisTick: {show: false},
- splitLine: {show: false},
- data: ['ten', 'nine', 'eight', 'seven', 'six', 'five', 'four', 'three', 'two', 'one']
- },
- series: [
- {
- name: '生活费',
- type: 'bar',
- stack: '总量',
- label: {
- show: true,
- formatter: '{b}'
- },
- data: [
- {value: -0.07, label: labelRight},
- {value: -0.09, label: labelRight},
- 0.2, 0.44,
- {value: -0.23, label: labelRight},
- 0.08,
- {value: -0.17, label: labelRight},
- 0.47,
- {value: -0.36, label: labelRight},
- 0.18
- ]
- }
- ]
-};
diff --git a/public/data/bar-polar-label-radial.js b/public/data/bar-polar-label-radial.js
deleted file mode 100644
index f5c9054..0000000
--- a/public/data/bar-polar-label-radial.js
+++ /dev/null
@@ -1,30 +0,0 @@
-option = {
- title: [{
- text: 'Radial Polar Bar Label Position (middle)'
- }],
- polar: {
- radius: [30, '80%']
- },
- radiusAxis: {
- max: 4,
- startAngle: 75
- },
- angleAxis: {
- type: 'category',
- data: ['a', 'b', 'c', 'd'],
- startAngle: 75
- },
- tooltip: {},
- series: {
- type: 'bar',
- data: [2, 1.2, 2.4, 3.6],
- coordinateSystem: 'polar',
- label: {
- show: true,
- position: 'middle', // or 'start', 'insideStart', 'end', 'insideEnd'
- formatter: '{b}: {c}',
- }
- },
- backgroundColor: '#fff',
- animation: 0
-};
diff --git a/public/data/bar-polar-label-tangential.js b/public/data/bar-polar-label-tangential.js
deleted file mode 100644
index db37d3b..0000000
--- a/public/data/bar-polar-label-tangential.js
+++ /dev/null
@@ -1,30 +0,0 @@
-option = {
- title: [{
- text: 'Radial Polar Bar Label Position (middle)'
- }],
- polar: {
- radius: [30, '80%']
- },
- angleAxis: {
- max: 4,
- startAngle: 75
- },
- radiusAxis: {
- type: 'category',
- data: ['a', 'b', 'c', 'd'],
- startAngle: 75
- },
- tooltip: {},
- series: {
- type: 'bar',
- data: [2, 1.2, 2.4, 3.6],
- coordinateSystem: 'polar',
- label: {
- show: true,
- position: 'middle', // or 'start', 'insideStart', 'end', 'insideEnd'
- formatter: '{b}: {c}',
- }
- },
- backgroundColor: '#fff',
- animation: 0
-};
diff --git a/public/data/bar-polar-real-estate.js b/public/data/bar-polar-real-estate.js
deleted file mode 100644
index 31fc51d..0000000
--- a/public/data/bar-polar-real-estate.js
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
-title: Bar Chart on Polar
-category: bar
-difficulty: 7
-shotWidth: 800
-*/
-
-var data = [
- [5000, 10000, 6785.71],
- [4000, 10000, 6825],
- [3000, 6500, 4463.33],
- [2500, 5600, 3793.83],
- [2000, 4000, 3060],
- [2000, 4000, 3222.33],
- [2500, 4000, 3133.33],
- [1800, 4000, 3100],
- [2000, 3500, 2750],
- [2000, 3000, 2500],
- [1800, 3000, 2433.33],
- [2000, 2700, 2375],
- [1500, 2800, 2150],
- [1500, 2300, 2100],
- [1600, 3500, 2057.14],
- [1500, 2600, 2037.5],
- [1500, 2417.54, 1905.85],
- [1500, 2000, 1775],
- [1500, 1800, 1650]
-];
-var cities = ['北京', '上海', '深圳', '广州', '苏州', '杭州', '南京', '福州', '青岛', '济南', '长春', '大连', '温州', '郑州', '武汉', '成都', '东莞', '沈阳', '烟台'];
-var barHeight = 50;
-
-option = {
- title: {
- text: '在中国租个房子有多贵?',
- subtext: '市中心一室月租费(数据来源:https://www.numbeo.com)'
- },
- legend: {
- show: true,
- data: ['价格范围', '均值']
- },
- grid: {
- top: 100
- },
- angleAxis: {
- type: 'category',
- data: cities
- },
- tooltip: {
- show: true,
- formatter: function (params) {
- var id = params.dataIndex;
- return cities[id] + '<br>最低:' + data[id][0] + '<br>最高:' + data[id][1] + '<br>平均:' + data[id][2];
- }
- },
- radiusAxis: {
- },
- polar: {
- },
- series: [{
- type: 'bar',
- itemStyle: {
- color: 'transparent'
- },
- data: data.map(function (d) {
- return d[0];
- }),
- coordinateSystem: 'polar',
- stack: '最大最小值',
- silent: true
- }, {
- type: 'bar',
- data: data.map(function (d) {
- return d[1] - d[0];
- }),
- coordinateSystem: 'polar',
- name: '价格范围',
- stack: '最大最小值'
- }, {
- type: 'bar',
- itemStyle: {
- color: 'transparent'
- },
- data: data.map(function (d) {
- return d[2] - barHeight;
- }),
- coordinateSystem: 'polar',
- stack: '均值',
- silent: true,
- z: 10
- }, {
- type: 'bar',
- data: data.map(function (d) {
- return barHeight * 2;
- }),
- coordinateSystem: 'polar',
- name: '均值',
- stack: '均值',
- barGap: '-100%',
- z: 10
- }]
-};
diff --git a/public/data/bar-polar-stack-radial.js b/public/data/bar-polar-stack-radial.js
deleted file mode 100644
index f076e6f..0000000
--- a/public/data/bar-polar-stack-radial.js
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
-title: Stacked Bar Chart on Polar(Radial)
-titleCN: 极坐标系下的堆叠柱状图
-category: bar
-difficulty: 7
-*/
-
-option = {
- angleAxis: {
- type: 'category',
- data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
- },
- radiusAxis: {
- },
- polar: {
- },
- series: [{
- type: 'bar',
- data: [1, 2, 3, 4, 3, 5, 1],
- coordinateSystem: 'polar',
- name: 'A',
- stack: 'a',
- emphasis: {
- focus: 'series'
- }
- }, {
- type: 'bar',
- data: [2, 4, 6, 1, 3, 2, 1],
- coordinateSystem: 'polar',
- name: 'B',
- stack: 'a',
- emphasis: {
- focus: 'series'
- }
- }, {
- type: 'bar',
- data: [1, 2, 3, 4, 1, 2, 5],
- coordinateSystem: 'polar',
- name: 'C',
- stack: 'a',
- emphasis: {
- focus: 'series'
- }
- }],
- legend: {
- show: true,
- data: ['A', 'B', 'C']
- }
-};
diff --git a/public/data/bar-polar-stack.js b/public/data/bar-polar-stack.js
deleted file mode 100644
index 8812346..0000000
--- a/public/data/bar-polar-stack.js
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
-title: Stacked Bar Chart on Polar
-titleCN: 极坐标系下的堆叠柱状图
-category: bar
-difficulty: 7
-*/
-
-option = {
- angleAxis: {
- },
- radiusAxis: {
- type: 'category',
- data: ['周一', '周二', '周三', '周四'],
- z: 10
- },
- polar: {
- },
- series: [{
- type: 'bar',
- data: [1, 2, 3, 4],
- coordinateSystem: 'polar',
- name: 'A',
- stack: 'a',
- emphasis: {
- focus: 'series'
- }
- }, {
- type: 'bar',
- data: [2, 4, 6, 8],
- coordinateSystem: 'polar',
- name: 'B',
- stack: 'a',
- emphasis: {
- focus: 'series'
- }
- }, {
- type: 'bar',
- data: [1, 2, 3, 4],
- coordinateSystem: 'polar',
- name: 'C',
- stack: 'a',
- emphasis: {
- focus: 'series'
- }
- }],
- legend: {
- show: true,
- data: ['A', 'B', 'C']
- }
-};
diff --git a/public/data/bar-race-country.js b/public/data/bar-race-country.js
deleted file mode 100644
index 1dcc988..0000000
--- a/public/data/bar-race-country.js
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
-title: Bar Race
-titleCN: 动态排序柱状图 - 人均收入
-category: bar
-difficulty: 6
-videoStart: 1000
-videoEnd: 6000
-*/
-
-
-var updateFrequency = 2000;
-var dimension = 0;
-
-var countryColors = {"Australia":"#00008b","Canada":"#f00","China":"#ffde00","Cuba":"#002a8f","Finland":"#003580","France":"#ed2939","Germany":"#000","Iceland":"#003897","India":"#f93","Japan":"#bc002d","North Korea":"#024fa2","South Korea":"#000","New Zealand":"#00247d","Norway":"#ef2b2d","Poland":"#dc143c","Russia":"#d52b1e","Turkey":"#e30a17","United Kingdom":"#00247d","United States":"#b22234"};
-
-$.when(
- $.getJSON('https://cdn.jsdelivr.net/npm/emoji-flags@1.3.0/data.json'),
- $.getJSON(ROOT_PATH + '/data/asset/data/life-expectancy-table.json')
-).done(function (res0, res1) {
- var flags = res0[0];
- var data = res1[0];
- var years = [];
- for (var i = 0; i < data.length; ++i) {
- if (years.length === 0 || years[years.length - 1] !== data[i][4]) {
- years.push(data[i][4]);
- }
- }
-
- function getFlag(countryName) {
- if (!countryName) {
- return '';
- }
- return (flags.find(function (item) {
- return item.name === countryName;
- }) || {}).emoji;
- }
- var startIndex = 10;
- var startYear = years[startIndex];
-
- var option = {
- grid: {
- top: 10,
- bottom: 30,
- left: 150,
- right: 80
- },
- xAxis: {
- max: 'dataMax',
- label: {
- formatter: function (n) {
- return Math.round(n);
- }
- }
- },
- dataset: {
- source: data.slice(1).filter(function (d) {
- return d[4] === startYear;
- })
- },
- yAxis: {
- type: 'category',
- inverse: true,
- max: 10,
- axisLabel: {
- show: true,
- textStyle: {
- fontSize: 14
- },
- formatter: function (value) {
- return value + '{flag|' + getFlag(value) + '}';
- },
- rich: {
- flag: {
- fontSize: 25,
- padding: 5
- }
- }
- },
- animationDuration: 300,
- animationDurationUpdate: 300
- },
- series: [{
- realtimeSort: true,
- seriesLayoutBy: 'column',
- type: 'bar',
- itemStyle: {
- color: function (param) {
- return countryColors[param.value[3]] || '#5470c6';
- }
- },
- encode: {
- x: dimension,
- y: 3
- },
- label: {
- show: true,
- precision: 1,
- position: 'right',
- valueAnimation: true,
- fontFamily: 'monospace'
- }
- }],
- // Disable init animation.
- animationDuration: 0,
- animationDurationUpdate: updateFrequency,
- animationEasing: 'linear',
- animationEasingUpdate: 'linear',
- graphic: {
- elements: [{
- type: 'text',
- right: 160,
- bottom: 60,
- style: {
- text: startYear,
- font: 'bolder 80px monospace',
- fill: 'rgba(100, 100, 100, 0.25)'
- },
- z: 100
- }]
- }
- };
-
- // console.log(option);
- myChart.setOption(option);
-
- for (var i = startIndex; i < years.length - 1; ++i) {
- (function (i) {
- setTimeout(function () {
- updateYear(years[i + 1]);
- }, (i - startIndex) * updateFrequency);
- })(i);
- }
-
- function updateYear(year) {
- var source = data.slice(1).filter(function (d) {
- return d[4] === year;
- });
- option.series[0].data = source;
- option.graphic.elements[0].style.text = year;
- myChart.setOption(option);
- }
-})
\ No newline at end of file
diff --git a/public/data/bar-race.js b/public/data/bar-race.js
deleted file mode 100644
index 21f76bf..0000000
--- a/public/data/bar-race.js
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
-title: Bar Race
-titleCN: 动态排序柱状图
-category: bar
-difficulty: 5
-videoStart: 1000
-videoEnd: 6000
-*/
-
-var data = [];
-for (let i = 0; i < 5; ++i) {
- data.push(Math.round(Math.random() * 200));
-}
-
-option = {
- xAxis: {
- max: 'dataMax',
- },
- yAxis: {
- type: 'category',
- data: ['A', 'B', 'C', 'D', 'E'],
- inverse: true,
- animationDuration: 300,
- animationDurationUpdate: 300,
- max: 2 // only the largest 3 bars will be displayed
- },
- series: [{
- realtimeSort: true,
- name: 'X',
- type: 'bar',
- data: data,
- label: {
- show: true,
- position: 'right',
- valueAnimation: true
- }
- }],
- legend: {
- show: true
- },
- animationDuration: 0,
- animationDurationUpdate: 3000,
- animationEasing: 'linear',
- animationEasingUpdate: 'linear'
-};
-
-function run () {
- var data = option.series[0].data;
- for (var i = 0; i < data.length; ++i) {
- if (Math.random() > 0.9) {
- data[i] += Math.round(Math.random() * 2000);
- }
- else {
- data[i] += Math.round(Math.random() * 200);
- }
- }
- myChart.setOption(option);
-}
-
-setTimeout(function() {
- run();
-}, 0);
-setInterval(function () {
- run();
-}, 3000);
diff --git a/public/data/bar-rich-text.js b/public/data/bar-rich-text.js
deleted file mode 100644
index d0c35d4..0000000
--- a/public/data/bar-rich-text.js
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
-title: Wheater Statistics
-category: 'bar, rich'
-titleCN: 天气统计(富文本)
-difficulty: 6
-*/
-
-
-var weatherIcons = {
- 'Sunny': ROOT_PATH + '/data/asset/img/weather/sunny_128.png',
- 'Cloudy': ROOT_PATH + '/data/asset/img/weather/cloudy_128.png',
- 'Showers': ROOT_PATH + '/data/asset/img/weather/showers_128.png'
-};
-
-var seriesLabel = {
- show: true
-}
-
-option = {
- title: {
- text: 'Weather Statistics'
- },
- tooltip: {
- trigger: 'axis',
- axisPointer: {
- type: 'shadow'
- }
- },
- legend: {
- data: ['City Alpha', 'City Beta', 'City Gamma']
- },
- grid: {
- left: 100
- },
- toolbox: {
- show: true,
- feature: {
- saveAsImage: {}
- }
- },
- xAxis: {
- type: 'value',
- name: 'Days',
- axisLabel: {
- formatter: '{value}'
- }
- },
- yAxis: {
- type: 'category',
- inverse: true,
- data: ['Sunny', 'Cloudy', 'Showers'],
- axisLabel: {
- formatter: function (value) {
- return '{' + value + '| }\n{value|' + value + '}';
- },
- margin: 20,
- rich: {
- value: {
- lineHeight: 30,
- align: 'center'
- },
- Sunny: {
- height: 40,
- align: 'center',
- backgroundColor: {
- image: weatherIcons.Sunny
- }
- },
- Cloudy: {
- height: 40,
- align: 'center',
- backgroundColor: {
- image: weatherIcons.Cloudy
- }
- },
- Showers: {
- height: 40,
- align: 'center',
- backgroundColor: {
- image: weatherIcons.Showers
- }
- }
- }
- }
- },
- series: [
- {
- name: 'City Alpha',
- type: 'bar',
- data: [165, 170, 30],
- label: seriesLabel,
- markPoint: {
- symbolSize: 1,
- symbolOffset: [0, '50%'],
- label: {
- formatter: '{a|{a}\n}{b|{b} }{c|{c}}',
- backgroundColor: 'rgb(242,242,242)',
- borderColor: '#aaa',
- borderWidth: 1,
- borderRadius: 4,
- padding: [4, 10],
- lineHeight: 26,
- // shadowBlur: 5,
- // shadowColor: '#000',
- // shadowOffsetX: 0,
- // shadowOffsetY: 1,
- position: 'right',
- distance: 20,
- rich: {
- a: {
- align: 'center',
- color: '#fff',
- fontSize: 18,
- textShadowBlur: 2,
- textShadowColor: '#000',
- textShadowOffsetX: 0,
- textShadowOffsetY: 1,
- textBorderColor: '#333',
- textBorderWidth: 2
- },
- b: {
- color: '#333'
- },
- c: {
- color: '#ff8811',
- textBorderColor: '#000',
- textBorderWidth: 1,
- fontSize: 22
- }
- }
- },
- data: [
- {type: 'max', name: 'max days: '},
- {type: 'min', name: 'min days: '}
- ]
- }
- },
- {
- name: 'City Beta',
- type: 'bar',
- label: seriesLabel,
- data: [150, 105, 110]
- },
- {
- name: 'City Gamma',
- type: 'bar',
- label: seriesLabel,
- data: [220, 82, 63]
- }
- ]
-};
diff --git a/public/data/bar-simple.js b/public/data/bar-simple.js
deleted file mode 100644
index 6a584f3..0000000
--- a/public/data/bar-simple.js
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-title: Basic Bar
-category: bar
-titleCN: 基础柱状图
-difficulty: 0
-*/
-
-option = {
- xAxis: {
- type: 'category',
- data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
- },
- yAxis: {
- type: 'value'
- },
- series: [{
- data: [120, 200, 150, 80, 70, 110, 130],
- type: 'bar'
- }]
-};
diff --git a/public/data/bar-stack.js b/public/data/bar-stack.js
deleted file mode 100644
index 8d87101..0000000
--- a/public/data/bar-stack.js
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
-title: Stacked Column Chart
-titleCN: 堆叠柱状图
-category: bar
-difficulty: 3
-*/
-
-option = {
- tooltip: {
- trigger: 'axis',
- axisPointer: { // 坐标轴指示器,坐标轴触发有效
- type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
- }
- },
- legend: {
- data: ['直接访问', '邮件营销', '联盟广告', '视频广告', '搜索引擎', '百度', '谷歌', '必应', '其他']
- },
- grid: {
- left: '3%',
- right: '4%',
- bottom: '3%',
- containLabel: true
- },
- xAxis: [
- {
- type: 'category',
- data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
- }
- ],
- yAxis: [
- {
- type: 'value'
- }
- ],
- series: [
- {
- name: '直接访问',
- type: 'bar',
- emphasis: {
- focus: 'series'
- },
- data: [320, 332, 301, 334, 390, 330, 320]
- },
- {
- name: '邮件营销',
- type: 'bar',
- stack: '广告',
- emphasis: {
- focus: 'series'
- },
- data: [120, 132, 101, 134, 90, 230, 210]
- },
- {
- name: '联盟广告',
- type: 'bar',
- stack: '广告',
- emphasis: {
- focus: 'series'
- },
- data: [220, 182, 191, 234, 290, 330, 310]
- },
- {
- name: '视频广告',
- type: 'bar',
- stack: '广告',
- emphasis: {
- focus: 'series'
- },
- data: [150, 232, 201, 154, 190, 330, 410]
- },
- {
- name: '搜索引擎',
- type: 'bar',
- data: [862, 1018, 964, 1026, 1679, 1600, 1570],
- emphasis: {
- focus: 'series'
- },
- markLine: {
- lineStyle: {
- type: 'dashed'
- },
- data: [
- [{type: 'min'}, {type: 'max'}]
- ]
- }
- },
- {
- name: '百度',
- type: 'bar',
- barWidth: 5,
- stack: '搜索引擎',
- emphasis: {
- focus: 'series'
- },
- data: [620, 732, 701, 734, 1090, 1130, 1120]
- },
- {
- name: '谷歌',
- type: 'bar',
- stack: '搜索引擎',
- emphasis: {
- focus: 'series'
- },
- data: [120, 132, 101, 134, 290, 230, 220]
- },
- {
- name: '必应',
- type: 'bar',
- stack: '搜索引擎',
- emphasis: {
- focus: 'series'
- },
- data: [60, 72, 71, 74, 190, 130, 110]
- },
- {
- name: '其他',
- type: 'bar',
- stack: '搜索引擎',
- emphasis: {
- focus: 'series'
- },
- data: [62, 82, 91, 84, 109, 110, 120]
- }
- ]
-};
diff --git a/public/data/bar-tick-align.js b/public/data/bar-tick-align.js
deleted file mode 100644
index 7707cd0..0000000
--- a/public/data/bar-tick-align.js
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
-title: Axis Align with Tick
-titleCN: 坐标轴刻度与标签对齐
-category: bar
-difficulty: 0
-*/
-
-option = {
- tooltip: {
- trigger: 'axis',
- axisPointer: { // 坐标轴指示器,坐标轴触发有效
- type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
- }
- },
- grid: {
- left: '3%',
- right: '4%',
- bottom: '3%',
- containLabel: true
- },
- xAxis: [
- {
- type: 'category',
- data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
- axisTick: {
- alignWithLabel: true
- }
- }
- ],
- yAxis: [
- {
- type: 'value'
- }
- ],
- series: [
- {
- name: '直接访问',
- type: 'bar',
- barWidth: '60%',
- data: [10, 52, 200, 334, 390, 330, 220]
- }
- ]
-};
diff --git a/public/data/bar-waterfall.js b/public/data/bar-waterfall.js
deleted file mode 100644
index 5e03b5c..0000000
--- a/public/data/bar-waterfall.js
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
-title: Waterfall Chart
-titleCN: 瀑布图(柱状图模拟)
-category: bar
-difficulty: 1
-*/
-
-option = {
- title: {
- text: '深圳月最低生活费组成(单位:元)',
- subtext: 'From ExcelHome',
- sublink: 'http://e.weibo.com/1341556070/AjQH99che'
- },
- tooltip: {
- trigger: 'axis',
- axisPointer: { // 坐标轴指示器,坐标轴触发有效
- type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
- },
- formatter: function (params) {
- var tar = params[1];
- return tar.name + '<br/>' + tar.seriesName + ' : ' + tar.value;
- }
- },
- grid: {
- left: '3%',
- right: '4%',
- bottom: '3%',
- containLabel: true
- },
- xAxis: {
- type: 'category',
- splitLine: {show: false},
- data: ['总费用', '房租', '水电费', '交通费', '伙食费', '日用品数']
- },
- yAxis: {
- type: 'value'
- },
- series: [
- {
- name: '辅助',
- type: 'bar',
- stack: '总量',
- itemStyle: {
- barBorderColor: 'rgba(0,0,0,0)',
- color: 'rgba(0,0,0,0)'
- },
- emphasis: {
- itemStyle: {
- barBorderColor: 'rgba(0,0,0,0)',
- color: 'rgba(0,0,0,0)'
- }
- },
- data: [0, 1700, 1400, 1200, 300, 0]
- },
- {
- name: '生活费',
- type: 'bar',
- stack: '总量',
- label: {
- show: true,
- position: 'inside'
- },
- data: [2900, 1200, 300, 200, 900, 300]
- }
- ]
-};
diff --git a/public/data/bar-waterfall2.js b/public/data/bar-waterfall2.js
deleted file mode 100644
index d661a64..0000000
--- a/public/data/bar-waterfall2.js
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
-title: Waterfall Chart
-titleCN: 阶梯瀑布图(柱状图模拟)
-category: bar
-difficulty: 3
-*/
-
-option = {
- title: {
- text: '阶梯瀑布图',
- subtext: 'From ExcelHome',
- sublink: 'http://e.weibo.com/1341556070/Aj1J2x5a5'
- },
- tooltip: {
- trigger: 'axis',
- axisPointer: { // 坐标轴指示器,坐标轴触发有效
- type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
- },
- formatter: function (params) {
- var tar;
- if (params[1].value !== '-') {
- tar = params[1];
- }
- else {
- tar = params[0];
- }
- return tar.name + '<br/>' + tar.seriesName + ' : ' + tar.value;
- }
- },
- legend: {
- data: ['支出', '收入']
- },
- grid: {
- left: '3%',
- right: '4%',
- bottom: '3%',
- containLabel: true
- },
- xAxis: {
- type: 'category',
- splitLine: {show: false},
- data: function () {
- var list = [];
- for (var i = 1; i <= 11; i++) {
- list.push('11月' + i + '日');
- }
- return list;
- }()
- },
- yAxis: {
- type: 'value'
- },
- series: [
- {
- name: '辅助',
- type: 'bar',
- stack: '总量',
- itemStyle: {
- barBorderColor: 'rgba(0,0,0,0)',
- color: 'rgba(0,0,0,0)'
- },
- emphasis: {
- itemStyle: {
- barBorderColor: 'rgba(0,0,0,0)',
- color: 'rgba(0,0,0,0)'
- }
- },
- data: [0, 900, 1245, 1530, 1376, 1376, 1511, 1689, 1856, 1495, 1292]
- },
- {
- name: '收入',
- type: 'bar',
- stack: '总量',
- label: {
- show: true,
- position: 'top'
- },
- data: [900, 345, 393, '-', '-', 135, 178, 286, '-', '-', '-']
- },
- {
- name: '支出',
- type: 'bar',
- stack: '总量',
- label: {
- show: true,
- position: 'bottom'
- },
- data: ['-', '-', '-', 108, 154, '-', '-', '-', 119, 361, 203]
- }
- ]
-};
diff --git a/public/data/bar-y-category-stack.js b/public/data/bar-y-category-stack.js
deleted file mode 100644
index 9bc05e6..0000000
--- a/public/data/bar-y-category-stack.js
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
-title: Stacked Horizontal Bar
-titleCN: 堆叠条形图
-category: bar
-difficulty: 3
-*/
-option = {
- tooltip: {
- trigger: 'axis',
- axisPointer: { // Use axis to trigger tooltip
- type: 'shadow' // 'shadow' as default; can also be 'line' or 'shadow'
- }
- },
- legend: {
- data: ['Direct', 'Mail Ad', 'Affiliate Ad', 'Video Ad', 'Search Engine']
- },
- grid: {
- left: '3%',
- right: '4%',
- bottom: '3%',
- containLabel: true
- },
- xAxis: {
- type: 'value'
- },
- yAxis: {
- type: 'category',
- data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
- },
- series: [
- {
- name: 'Direct',
- type: 'bar',
- stack: 'total',
- label: {
- show: true
- },
- emphasis: {
- focus: 'series'
- },
- data: [320, 302, 301, 334, 390, 330, 320]
- },
- {
- name: 'Mail Ad',
- type: 'bar',
- stack: 'total',
- label: {
- show: true
- },
- emphasis: {
- focus: 'series'
- },
- data: [120, 132, 101, 134, 90, 230, 210]
- },
- {
- name: 'Affiliate Ad',
- type: 'bar',
- stack: 'total',
- label: {
- show: true
- },
- emphasis: {
- focus: 'series'
- },
- data: [220, 182, 191, 234, 290, 330, 310]
- },
- {
- name: 'Video Ad',
- type: 'bar',
- stack: 'total',
- label: {
- show: true
- },
- emphasis: {
- focus: 'series'
- },
- data: [150, 212, 201, 154, 190, 330, 410]
- },
- {
- name: 'Search Engine',
- type: 'bar',
- stack: 'total',
- label: {
- show: true
- },
- emphasis: {
- focus: 'series'
- },
- data: [820, 832, 901, 934, 1290, 1330, 1320]
- }
- ]
-};
diff --git a/public/data/bar-y-category.js b/public/data/bar-y-category.js
deleted file mode 100644
index 514c798..0000000
--- a/public/data/bar-y-category.js
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
-title: World Total Population
-category: bar
-titleCN: 世界人口总量 - 条形图
-difficulty: 2
-*/
-
-option = {
- title: {
- text: '世界人口总量',
- subtext: '数据来自网络'
- },
- tooltip: {
- trigger: 'axis',
- axisPointer: {
- type: 'shadow'
- }
- },
- legend: {
- data: ['2011年', '2012年']
- },
- grid: {
- left: '3%',
- right: '4%',
- bottom: '3%',
- containLabel: true
- },
- xAxis: {
- type: 'value',
- boundaryGap: [0, 0.01]
- },
- yAxis: {
- type: 'category',
- data: ['巴西', '印尼', '美国', '印度', '中国', '世界人口(万)']
- },
- series: [
- {
- name: '2011年',
- type: 'bar',
- data: [18203, 23489, 29034, 104970, 131744, 630230]
- },
- {
- name: '2012年',
- type: 'bar',
- data: [19325, 23438, 31000, 121594, 134141, 681807]
- }
- ]
-};
diff --git a/public/data/bar1.js b/public/data/bar1.js
deleted file mode 100644
index a4fd5f4..0000000
--- a/public/data/bar1.js
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
-title: Rainfall and Evaporation
-category: bar
-titleCN: 某地区蒸发量和降水量
-difficulty: 4
-*/
-
-option = {
- title: {
- text: '某地区蒸发量和降水量',
- subtext: '纯属虚构'
- },
- tooltip: {
- trigger: 'axis'
- },
- legend: {
- data: ['蒸发量', '降水量']
- },
- toolbox: {
- show: true,
- feature: {
- dataView: {show: true, readOnly: false},
- magicType: {show: true, type: ['line', 'bar']},
- restore: {show: true},
- saveAsImage: {show: true}
- }
- },
- calculable: true,
- xAxis: [
- {
- type: 'category',
- data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']
- }
- ],
- yAxis: [
- {
- type: 'value'
- }
- ],
- series: [
- {
- name: '蒸发量',
- type: 'bar',
- data: [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3],
- markPoint: {
- data: [
- {type: 'max', name: '最大值'},
- {type: 'min', name: '最小值'}
- ]
- },
- markLine: {
- data: [
- {type: 'average', name: '平均值'}
- ]
- }
- },
- {
- name: '降水量',
- type: 'bar',
- data: [2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3],
- markPoint: {
- data: [
- {name: '年最高', value: 182.2, xAxis: 7, yAxis: 183},
- {name: '年最低', value: 2.3, xAxis: 11, yAxis: 3}
- ]
- },
- markLine: {
- data: [
- {type: 'average', name: '平均值'}
- ]
- }
- }
- ]
-};
diff --git a/public/data/boxplot-light-velocity.js b/public/data/boxplot-light-velocity.js
deleted file mode 100644
index e475ca3..0000000
--- a/public/data/boxplot-light-velocity.js
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
-title: Boxplot Light Velocity
-category: boxplot
-titleCN: 基础盒须图
-*/
-
-option = {
- title: [
- {
- text: 'Michelson-Morley Experiment',
- left: 'center'
- },
- {
- text: 'upper: Q3 + 1.5 * IQR \nlower: Q1 - 1.5 * IQR',
- borderColor: '#999',
- borderWidth: 1,
- textStyle: {
- fontWeight: 'normal',
- fontSize: 14,
- lineHeight: 20
- },
- left: '10%',
- top: '90%'
- }
- ],
- dataset: [{
- source: [
- [850, 740, 900, 1070, 930, 850, 950, 980, 980, 880, 1000, 980, 930, 650, 760, 810, 1000, 1000, 960, 960],
- [960, 940, 960, 940, 880, 800, 850, 880, 900, 840, 830, 790, 810, 880, 880, 830, 800, 790, 760, 800],
- [880, 880, 880, 860, 720, 720, 620, 860, 970, 950, 880, 910, 850, 870, 840, 840, 850, 840, 840, 840],
- [890, 810, 810, 820, 800, 770, 760, 740, 750, 760, 910, 920, 890, 860, 880, 720, 840, 850, 850, 780],
- [890, 840, 780, 810, 760, 810, 790, 810, 820, 850, 870, 870, 810, 740, 810, 940, 950, 800, 810, 870]
- ]
- }, {
- transform: {
- type: 'boxplot',
- config: { itemNameFormatter: 'expr {value}' }
- }
- }, {
- fromDatasetIndex: 1,
- fromTransformResult: 1
- }],
- tooltip: {
- trigger: 'item',
- axisPointer: {
- type: 'shadow'
- }
- },
- grid: {
- left: '10%',
- right: '10%',
- bottom: '15%'
- },
- xAxis: {
- type: 'category',
- boundaryGap: true,
- nameGap: 30,
- splitArea: {
- show: false
- },
- splitLine: {
- show: false
- }
- },
- yAxis: {
- type: 'value',
- name: 'km/s minus 299,000',
- splitArea: {
- show: true
- }
- },
- series: [
- {
- name: 'boxplot',
- type: 'boxplot',
- datasetIndex: 1
- },
- {
- name: 'outlier',
- type: 'scatter',
- datasetIndex: 2
- }
- ]
-};
\ No newline at end of file
diff --git a/public/data/boxplot-light-velocity2.js b/public/data/boxplot-light-velocity2.js
deleted file mode 100644
index a4af14d..0000000
--- a/public/data/boxplot-light-velocity2.js
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
-title: Boxplot Light Velocity2
-category: boxplot
-titleCN: 垂直方向盒须图
-*/
-
-option = {
- title: [
- {
- text: 'Michelson-Morley Experiment',
- left: 'center'
- },
- {
- text: 'upper: Q3 + 1.5 * IRQ \nlower: Q1 - 1.5 * IRQ',
- borderColor: '#999',
- borderWidth: 1,
- textStyle: {
- fontSize: 14
- },
- left: '10%',
- top: '90%'
- }
- ],
- dataset: [{
- source: [
- [850, 740, 900, 1070, 930, 850, 950, 980, 980, 880, 1000, 980, 930, 650, 760, 810, 1000, 1000, 960, 960],
- [960, 940, 960, 940, 880, 800, 850, 880, 900, 840, 830, 790, 810, 880, 880, 830, 800, 790, 760, 800],
- [880, 880, 880, 860, 720, 720, 620, 860, 970, 950, 880, 910, 850, 870, 840, 840, 850, 840, 840, 840],
- [890, 810, 810, 820, 800, 770, 760, 740, 750, 760, 910, 920, 890, 860, 880, 720, 840, 850, 850, 780],
- [890, 840, 780, 810, 760, 810, 790, 810, 820, 850, 870, 870, 810, 740, 810, 940, 950, 800, 810, 870]
- ]
- }, {
- transform: {
- type: 'boxplot',
- config: {
- itemNameFormatter: function (params) {
- return 'expr ' + params.value;
- }
- }
- }
- }, {
- fromDatasetIndex: 1,
- fromTransformResult: 1
- }],
- tooltip: {
- trigger: 'item',
- axisPointer: {
- type: 'shadow'
- }
- },
- grid: {
- left: '10%',
- right: '10%',
- bottom: '15%'
- },
- yAxis: {
- type: 'category',
- boundaryGap: true,
- nameGap: 30,
- splitArea: {
- show: false
- },
- splitLine: {
- show: false
- }
- },
- xAxis: {
- type: 'value',
- name: 'km/s minus 299,000',
- splitArea: {
- show: true
- }
- },
- series: [
- {
- name: 'boxplot',
- type: 'boxplot',
- datasetIndex: 1
- },
- {
- name: 'outlier',
- type: 'scatter',
- encode: { x: 1, y: 0 },
- datasetIndex: 2
- }
- ]
-};
\ No newline at end of file
diff --git a/public/data/boxplot-multi.js b/public/data/boxplot-multi.js
deleted file mode 100644
index 44e6177..0000000
--- a/public/data/boxplot-multi.js
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
-title: Multiple Categories
-category: boxplot
-titleCN: 多系列盒须图
-*/
-
-
-// Generate data.
-function makeData() {
- var data = [];
- for (var i = 0; i < 18; i++) {
- var cate = [];
- for (var j = 0; j < 100; j++) {
- cate.push(Math.random() * 200);
- }
- data.push(cate);
- }
- return data;
-}
-var data0 = makeData();
-var data1 = makeData();
-var data2 = makeData();
-
-
-option = {
- title: {
- text: 'Multiple Categories',
- left: 'center'
- },
- dataset: [{
- source: data0
- }, {
- source: data1
- }, {
- source: data2
- }, {
- fromDatasetIndex: 0,
- transform: { type: 'boxplot' }
- }, {
- fromDatasetIndex: 1,
- transform: { type: 'boxplot' }
- }, {
- fromDatasetIndex: 2,
- transform: { type: 'boxplot' }
- }],
- legend: {
- top: '10%'
- },
- tooltip: {
- trigger: 'item',
- axisPointer: {
- type: 'shadow'
- }
- },
- grid: {
- left: '10%',
- top: '20%',
- right: '10%',
- bottom: '15%'
- },
- xAxis: {
- type: 'category',
- boundaryGap: true,
- nameGap: 30,
- splitArea: {
- show: true
- },
- splitLine: {
- show: false
- }
- },
- yAxis: {
- type: 'value',
- name: 'Value',
- min: -400,
- max: 600,
- splitArea: {
- show: false
- }
- },
- dataZoom: [{
- type: 'inside',
- start: 0,
- end: 20
- }, {
- show: true,
- type: 'slider',
- top: '90%',
- xAxisIndex: [0],
- start: 0,
- end: 20
- }],
- series: [{
- name: 'category0',
- type: 'boxplot',
- datasetIndex: 3
- }, {
- name: 'category1',
- type: 'boxplot',
- datasetIndex: 4
- }, {
- name: 'category2',
- type: 'boxplot',
- datasetIndex: 5
- }]
-};
diff --git a/public/data/bubble-gradient.js b/public/data/bubble-gradient.js
deleted file mode 100644
index 9ab5549..0000000
--- a/public/data/bubble-gradient.js
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
-title: Bubble Chart
-category: scatter
-titleCN: 气泡图
-difficulty: 6
-*/
-
-var data = [
- [[28604,77,17096869,'Australia',1990],[31163,77.4,27662440,'Canada',1990],[1516,68,1154605773,'China',1990],[13670,74.7,10582082,'Cuba',1990],[28599,75,4986705,'Finland',1990],[29476,77.1,56943299,'France',1990],[31476,75.4,78958237,'Germany',1990],[28666,78.1,254830,'Iceland',1990],[1777,57.7,870601776,'India',1990],[29550,79.1,122249285,'Japan',1990],[2076,67.9,20194354,'North Korea',1990],[12087,72,42972254,'South Korea',1990],[24021,75.4,3397534,'New Zealand',1990],[43296,76.8,42 [...]
- [[44056,81.8,23968973,'Australia',2015],[43294,81.7,35939927,'Canada',2015],[13334,76.9,1376048943,'China',2015],[21291,78.5,11389562,'Cuba',2015],[38923,80.8,5503457,'Finland',2015],[37599,81.9,64395345,'France',2015],[44053,81.1,80688545,'Germany',2015],[42182,82.8,329425,'Iceland',2015],[5903,66.8,1311050527,'India',2015],[36162,83.5,126573481,'Japan',2015],[1390,71.4,25155317,'North Korea',2015],[34644,80.7,50293439,'South Korea',2015],[34186,80.6,4528526,'New Zealand',2015],[643 [...]
-];
-
-option = {
- backgroundColor: new echarts.graphic.RadialGradient(0.3, 0.3, 0.8, [{
- offset: 0,
- color: '#f7f8fa'
- }, {
- offset: 1,
- color: '#cdd0d5'
- }]),
- title: {
- text: '1990 与 2015 年各国家人均寿命与 GDP' ,
- left: '5%',
- top: '3%'
- },
- legend: {
- right: '10%',
- top: '3%',
- data: ['1990', '2015']
- },
- grid: {
- left: '8%',
- top: '10%'
- },
- xAxis: {
- splitLine: {
- lineStyle: {
- type: 'dashed'
- }
- }
- },
- yAxis: {
- splitLine: {
- lineStyle: {
- type: 'dashed'
- }
- },
- scale: true
- },
- series: [{
- name: '1990',
- data: data[0],
- type: 'scatter',
- symbolSize: function (data) {
- return Math.sqrt(data[2]) / 5e2;
- },
- emphasis: {
- focus: 'series',
- label: {
- show: true,
- formatter: function (param) {
- return param.data[3];
- },
- position: 'top'
- }
- },
- itemStyle: {
- shadowBlur: 10,
- shadowColor: 'rgba(120, 36, 50, 0.5)',
- shadowOffsetY: 5,
- color: new echarts.graphic.RadialGradient(0.4, 0.3, 1, [{
- offset: 0,
- color: 'rgb(251, 118, 123)'
- }, {
- offset: 1,
- color: 'rgb(204, 46, 72)'
- }])
- }
- }, {
- name: '2015',
- data: data[1],
- type: 'scatter',
- symbolSize: function (data) {
- return Math.sqrt(data[2]) / 5e2;
- },
- emphasis: {
- focus: 'series',
- label: {
- show: true,
- formatter: function (param) {
- return param.data[3];
- },
- position: 'top'
- }
- },
- itemStyle: {
- shadowBlur: 10,
- shadowColor: 'rgba(25, 100, 150, 0.5)',
- shadowOffsetY: 5,
- color: new echarts.graphic.RadialGradient(0.4, 0.3, 1, [{
- offset: 0,
- color: 'rgb(129, 227, 238)'
- }, {
- offset: 1,
- color: 'rgb(25, 183, 207)'
- }])
- }
- }]
-};
\ No newline at end of file
diff --git a/public/data/calendar-charts.js b/public/data/calendar-charts.js
deleted file mode 100644
index 9b0cbd2..0000000
--- a/public/data/calendar-charts.js
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
-title: Calendar Charts
-category: 'calendar, scatter'
-titleCN: 日历图
-shotWidth: 1000
-difficulty: 11
-*/
-
-function getVirtulData(year) {
- year = year || '2017';
- var date = +echarts.number.parseDate(year + '-01-01');
- var end = +echarts.number.parseDate((+year + 1) + '-01-01');
- var dayTime = 3600 * 24 * 1000;
- var data = [];
- for (var time = date; time < end; time += dayTime) {
- data.push([
- echarts.format.formatTime('yyyy-MM-dd', time),
- Math.floor(Math.random() * 1000)
- ]);
- }
- console.log(data[data.length - 1]);
- return data;
-}
-
-
-
-var graphData = [
- [
- '2017-02-01',
- 260
- ],
- [
- '2017-02-04',
- 200
- ],
- [
- '2017-02-09',
- 279
- ],
- [
- '2017-02-13',
- 847
- ],
- [
- '2017-02-18',
- 241
- ],
- [
- '2017-02-23',
- 411
- ],
- [
- '2017-02-27',
- 985
- ]
-];
-
-var links = graphData.map(function (item, idx) {
- return {
- source: idx,
- target: idx + 1
- };
-});
-links.pop();
-
-option = {
- tooltip: {
- position: 'top'
- },
-
- visualMap: [{
- min: 0,
- max: 1000,
- calculable: true,
- seriesIndex: [2, 3, 4],
- orient: 'horizontal',
- left: '55%',
- bottom: 20
- }, {
- min: 0,
- max: 1000,
- inRange: {
- color: ['grey'],
- opacity: [0, 0.3]
- },
- controller: {
- inRange: {
- opacity: [0.3, 0.6]
- },
- outOfRange: {
- color: '#ccc'
- }
- },
- seriesIndex: [1],
- orient: 'horizontal',
- left: '10%',
- bottom: 20
- }],
-
- calendar: [{
- orient: 'vertical',
- yearLabel: {
- margin: 40
- },
- monthLabel: {
- nameMap: 'cn',
- margin: 20
- },
- dayLabel: {
- firstDay: 1,
- nameMap: 'cn'
- },
- cellSize: 40,
- range: '2017-02'
- },
- {
- orient: 'vertical',
- yearLabel: {
- margin: 40
- },
- monthLabel: {
- margin: 20
- },
- cellSize: 40,
- left: 460,
- range: '2017-01'
- },
- {
- orient: 'vertical',
- yearLabel: {
- margin: 40
- },
- monthLabel: {
- margin: 20
- },
- cellSize: 40,
- top: 350,
- range: '2017-03'
- },
- {
- orient: 'vertical',
- yearLabel: {
- margin: 40
- },
- dayLabel: {
- firstDay: 1,
- nameMap: ['周日', '周一', '周二', '周三', '周四', '周五', '周六']
- },
- monthLabel: {
- nameMap: 'cn',
- margin: 20
- },
- cellSize: 40,
- top: 350,
- left: 460,
- range: '2017-04'
- }],
-
- series: [{
- type: 'graph',
- edgeSymbol: ['none', 'arrow'],
- coordinateSystem: 'calendar',
- links: links,
- symbolSize: 10,
- calendarIndex: 0,
- data: graphData
- }, {
- type: 'heatmap',
- coordinateSystem: 'calendar',
- data: getVirtulData(2017)
- }, {
- type: 'effectScatter',
- coordinateSystem: 'calendar',
- calendarIndex: 1,
- symbolSize: function (val) {
- return val[1] / 40;
- },
- data: getVirtulData(2017)
- }, {
- type: 'scatter',
- coordinateSystem: 'calendar',
- calendarIndex: 2,
- symbolSize: function (val) {
- return val[1] / 60;
- },
- data: getVirtulData(2017)
- }, {
- type: 'heatmap',
- coordinateSystem: 'calendar',
- calendarIndex: 3,
- data: getVirtulData(2017)
- }]
-};
diff --git a/public/data/calendar-effectscatter.js b/public/data/calendar-effectscatter.js
deleted file mode 100644
index df84192..0000000
--- a/public/data/calendar-effectscatter.js
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
-title: Calendar Effectscatter
-category: calendar
-titleCN: 热力特效散点图
-difficulty:3
-*/
-
-function getVirtulData(year) {
- year = year || '2017';
- var date = +echarts.number.parseDate(year + '-01-01');
- var end = +echarts.number.parseDate((+year + 1) + '-01-01');
- var dayTime = 3600 * 24 * 1000;
- var data = [];
- for (var time = date; time < end; time += dayTime) {
- data.push([
- echarts.format.formatTime('yyyy-MM-dd', time),
- Math.floor(Math.random() * 10000)
- ]);
- }
- return data;
-}
-
-var data = getVirtulData(2016);
-
-option = {
- backgroundColor: '#404a59',
-
- title: {
- top: 30,
- text: '2016年某人每天的步数',
- subtext: '数据纯属虚构',
- left: 'center',
- textStyle: {
- color: '#fff'
- }
- },
- tooltip: {
- trigger: 'item'
- },
- legend: {
- top: '30',
- left: '100',
- data: ['步数', 'Top 12'],
- textStyle: {
- color: '#fff'
- }
- },
- calendar: [{
- top: 100,
- left: 'center',
- range: ['2016-01-01', '2016-06-30'],
- splitLine: {
- show: true,
- lineStyle: {
- color: '#000',
- width: 4,
- type: 'solid'
- }
- },
- yearLabel: {
- formatter: '{start} 1st',
- textStyle: {
- color: '#fff'
- }
- },
- itemStyle: {
- color: '#323c48',
- borderWidth: 1,
- borderColor: '#111'
- }
- }, {
- top: 340,
- left: 'center',
- range: ['2016-07-01', '2016-12-31'],
- splitLine: {
- show: true,
- lineStyle: {
- color: '#000',
- width: 4,
- type: 'solid'
- }
- },
- yearLabel: {
- formatter: '{start} 2nd',
- textStyle: {
- color: '#fff'
- }
- },
- itemStyle: {
- color: '#323c48',
- borderWidth: 1,
- borderColor: '#111'
- }
- }],
- series: [
- {
- name: '步数',
- type: 'scatter',
- coordinateSystem: 'calendar',
- data: data,
- symbolSize: function (val) {
- return val[1] / 500;
- },
- itemStyle: {
- color: '#ddb926'
- }
- },
- {
- name: '步数',
- type: 'scatter',
- coordinateSystem: 'calendar',
- calendarIndex: 1,
- data: data,
- symbolSize: function (val) {
- return val[1] / 500;
- },
- itemStyle: {
- color: '#ddb926'
- }
- },
- {
- name: 'Top 12',
- type: 'effectScatter',
- coordinateSystem: 'calendar',
- calendarIndex: 1,
- data: data.sort(function (a, b) {
- return b[1] - a[1];
- }).slice(0, 12),
- symbolSize: function (val) {
- return val[1] / 500;
- },
- showEffectOn: 'render',
- rippleEffect: {
- brushType: 'stroke'
- },
- hoverAnimation: true,
- itemStyle: {
- color: '#f4e925',
- shadowBlur: 10,
- shadowColor: '#333'
- },
- zlevel: 1
- },
- {
- name: 'Top 12',
- type: 'effectScatter',
- coordinateSystem: 'calendar',
- data: data.sort(function (a, b) {
- return b[1] - a[1];
- }).slice(0, 12),
- symbolSize: function (val) {
- return val[1] / 500;
- },
- showEffectOn: 'render',
- rippleEffect: {
- brushType: 'stroke'
- },
- hoverAnimation: true,
- itemStyle: {
- color: '#f4e925',
- shadowBlur: 10,
- shadowColor: '#333'
- },
- zlevel: 1
- }
- ]
-};
diff --git a/public/data/calendar-graph.js b/public/data/calendar-graph.js
deleted file mode 100644
index 7dd07ab..0000000
--- a/public/data/calendar-graph.js
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
-title: Calendar Graph
-category: 'calendar, graph'
-titleCN: 日历关系图
-difficulty: 4
-*/
-
-var graphData = [
- [
- '2017-02-01',
- 260
- ],
- [
- '2017-02-04',
- 200
- ],
- [
- '2017-02-09',
- 279
- ],
- [
- '2017-02-13',
- 847
- ],
- [
- '2017-02-18',
- 241
- ],
- [
- '2017-02-23',
- 411
- ],
- [
- '2017-03-14',
- 985
- ]
-];
-
-var links = graphData.map(function (item, idx) {
- return {
- source: idx,
- target: idx + 1
- };
-});
-links.pop();
-
-function getVirtulData(year) {
- year = year || '2017';
- var date = +echarts.number.parseDate(year + '-01-01');
- var end = +echarts.number.parseDate((+year + 1) + '-01-01');
- var dayTime = 3600 * 24 * 1000;
- var data = [];
- for (var time = date; time < end; time += dayTime) {
- data.push([
- echarts.format.formatTime('yyyy-MM-dd', time),
- Math.floor(Math.random() * 1000)
- ]);
- }
- return data;
-}
-
-
-option = {
- tooltip: {},
- calendar: {
- top: 'middle',
- left: 'center',
- orient: 'vertical',
- cellSize: 40,
- yearLabel: {
- margin: 50,
- textStyle: {
- fontSize: 30
- }
- },
- dayLabel: {
- firstDay: 1,
- nameMap: 'cn'
- },
- monthLabel: {
- nameMap: 'cn',
- margin: 15,
- fontSize: 20,
- color: '#999'
- },
- range: ['2017-02', '2017-03-31']
- },
- visualMap: {
- min: 0,
- max: 1000,
- type: 'piecewise',
- left: 'center',
- bottom: 20,
- inRange: {
- color: ['#5291FF', '#C7DBFF']
- },
- seriesIndex: [1],
- orient: 'horizontal'
- },
- series: [{
- type: 'graph',
- edgeSymbol: ['none', 'arrow'],
- coordinateSystem: 'calendar',
- links: links,
- symbolSize: 15,
- calendarIndex: 0,
- itemStyle: {
- color: 'yellow',
- shadowBlur: 9,
- shadowOffsetX: 1.5,
- shadowOffsetY: 3,
- shadowColor: '#555'
- },
- lineStyle: {
- color: '#D10E00',
- width: 1,
- opacity: 1
- },
- data: graphData,
- z: 20
- }, {
- type: 'heatmap',
- coordinateSystem: 'calendar',
- data: getVirtulData(2017)
- }]
-};
diff --git a/public/data/calendar-heatmap.js b/public/data/calendar-heatmap.js
deleted file mode 100644
index 4540da6..0000000
--- a/public/data/calendar-heatmap.js
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
-title: Calendar Heatmap
-category: 'calendar, heatmap'
-titleCN: 日历热力图
-difficulty: 1
-*/
-
-function getVirtulData(year) {
- year = year || '2017';
- var date = +echarts.number.parseDate(year + '-01-01');
- var end = +echarts.number.parseDate((+year + 1) + '-01-01');
- var dayTime = 3600 * 24 * 1000;
- var data = [];
- for (var time = date; time < end; time += dayTime) {
- data.push([
- echarts.format.formatTime('yyyy-MM-dd', time),
- Math.floor(Math.random() * 10000)
- ]);
- }
- return data;
-}
-
-option = {
- title: {
- top: 30,
- left: 'center',
- text: '2016年某人每天的步数'
- },
- tooltip: {},
- visualMap: {
- min: 0,
- max: 10000,
- type: 'piecewise',
- orient: 'horizontal',
- left: 'center',
- top: 65
- },
- calendar: {
- top: 120,
- left: 30,
- right: 30,
- cellSize: ['auto', 13],
- range: '2016',
- itemStyle: {
- borderWidth: 0.5
- },
- yearLabel: {show: false}
- },
- series: {
- type: 'heatmap',
- coordinateSystem: 'calendar',
- data: getVirtulData(2016)
- }
-};
diff --git a/public/data/calendar-horizontal.js b/public/data/calendar-horizontal.js
deleted file mode 100644
index c9d9015..0000000
--- a/public/data/calendar-horizontal.js
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
-title: Calendar Heatmap Horizontal
-category: calendar
-titleCN: 横向日历图
-shotWidth: 900
-difficulty: 2
-*/
-
-function getVirtulData(year) {
- year = year || '2017';
- var date = +echarts.number.parseDate(year + '-01-01');
- var end = +echarts.number.parseDate((+year + 1) + '-01-01');
- var dayTime = 3600 * 24 * 1000;
- var data = [];
- for (var time = date; time < end; time += dayTime) {
- data.push([
- echarts.format.formatTime('yyyy-MM-dd', time),
- Math.floor(Math.random() * 1000)
- ]);
- }
- return data;
-}
-
-
-
-option = {
- tooltip: {
- position: 'top'
- },
- visualMap: {
- min: 0,
- max: 1000,
- calculable: true,
- orient: 'horizontal',
- left: 'center',
- top: 'top'
- },
-
- calendar: [{
- range: '2017',
- cellSize: ['auto', 20]
- },
- {
- top: 260,
- range: '2016',
- cellSize: ['auto', 20]
- },
- {
- top: 450,
- range: '2015',
- cellSize: ['auto', 20],
- right: 5
- }],
-
- series: [{
- type: 'heatmap',
- coordinateSystem: 'calendar',
- calendarIndex: 0,
- data: getVirtulData(2017)
- }, {
- type: 'heatmap',
- coordinateSystem: 'calendar',
- calendarIndex: 1,
- data: getVirtulData(2016)
- }, {
- type: 'heatmap',
- coordinateSystem: 'calendar',
- calendarIndex: 2,
- data: getVirtulData(2015)
- }]
-
-};
diff --git a/public/data/calendar-lunar.js b/public/data/calendar-lunar.js
deleted file mode 100644
index 16856cd..0000000
--- a/public/data/calendar-lunar.js
+++ /dev/null
@@ -1,468 +0,0 @@
-/*
-title: Calendar Lunar
-category: calendar
-titleCN: 农历日历图
-difficulty: 4
-*/
-
-var dateList = [
- ['2017-1-1', '初四'],
- ['2017-1-2', '初五'],
- ['2017-1-3', '初六'],
- ['2017-1-4', '初七'],
- ['2017-1-5', '初八', '小寒'],
- ['2017-1-6', '初九'],
- ['2017-1-7', '初十'],
- ['2017-1-8', '十一'],
- ['2017-1-9', '十二'],
- ['2017-1-10', '十三'],
- ['2017-1-11', '十四'],
- ['2017-1-12', '十五'],
- ['2017-1-13', '十六'],
- ['2017-1-14', '十七'],
- ['2017-1-15', '十八'],
- ['2017-1-16', '十九'],
- ['2017-1-17', '二十'],
- ['2017-1-18', '廿一'],
- ['2017-1-19', '廿二'],
- ['2017-1-20', '廿三', '大寒'],
- ['2017-1-21', '廿四'],
- ['2017-1-22', '廿五'],
- ['2017-1-23', '廿六'],
- ['2017-1-24', '廿七'],
- ['2017-1-25', '廿八'],
- ['2017-1-26', '廿九'],
- ['2017-1-27', '三十'],
- ['2017-1-28', '正月'],
- ['2017-1-29', '初二'],
- ['2017-1-30', '初三'],
- ['2017-1-31', '初四'],
- ['2017-2-1', '初五'],
- ['2017-2-2', '初六'],
- ['2017-2-3', '初七', '立春'],
- ['2017-2-4', '初八'],
- ['2017-2-5', '初九'],
- ['2017-2-6', '初十'],
- ['2017-2-7', '十一'],
- ['2017-2-8', '十二'],
- ['2017-2-9', '十三'],
- ['2017-2-10', '十四'],
- ['2017-2-11', '十五'],
- ['2017-2-12', '十六'],
- ['2017-2-13', '十七'],
- ['2017-2-14', '十八'],
- ['2017-2-15', '十九'],
- ['2017-2-16', '二十'],
- ['2017-2-17', '廿一'],
- ['2017-2-18', '廿二', '雨水'],
- ['2017-2-19', '廿三'],
- ['2017-2-20', '廿四'],
- ['2017-2-21', '廿五'],
- ['2017-2-22', '廿六'],
- ['2017-2-23', '廿七'],
- ['2017-2-24', '廿八'],
- ['2017-2-25', '廿九'],
- ['2017-2-26', '二月'],
- ['2017-2-27', '初二'],
- ['2017-2-28', '初三'],
- ['2017-3-1', '初四'],
- ['2017-3-2', '初五'],
- ['2017-3-3', '初六'],
- ['2017-3-4', '初七'],
- ['2017-3-5', '初八', '驚蟄'],
- ['2017-3-6', '初九'],
- ['2017-3-7', '初十'],
- ['2017-3-8', '十一'],
- ['2017-3-9', '十二'],
- ['2017-3-10', '十三'],
- ['2017-3-11', '十四'],
- ['2017-3-12', '十五'],
- ['2017-3-13', '十六'],
- ['2017-3-14', '十七'],
- ['2017-3-15', '十八'],
- ['2017-3-16', '十九'],
- ['2017-3-17', '二十'],
- ['2017-3-18', '廿一'],
- ['2017-3-19', '廿二'],
- ['2017-3-20', '廿三', '春分'],
- ['2017-3-21', '廿四'],
- ['2017-3-22', '廿五'],
- ['2017-3-23', '廿六'],
- ['2017-3-24', '廿七'],
- ['2017-3-25', '廿八'],
- ['2017-3-26', '廿九'],
- ['2017-3-27', '三十'],
- ['2017-3-28', '三月'],
- ['2017-3-29', '初二'],
- ['2017-3-30', '初三'],
- ['2017-3-31', '初四'],
- ['2017-4-1', '初五'],
- ['2017-4-2', '初六'],
- ['2017-4-3', '初七'],
- ['2017-4-4', '初八', '清明'],
- ['2017-4-5', '初九'],
- ['2017-4-6', '初十'],
- ['2017-4-7', '十一'],
- ['2017-4-8', '十二'],
- ['2017-4-9', '十三'],
- ['2017-4-10', '十四'],
- ['2017-4-11', '十五'],
- ['2017-4-12', '十六'],
- ['2017-4-13', '十七'],
- ['2017-4-14', '十八'],
- ['2017-4-15', '十九'],
- ['2017-4-16', '二十'],
- ['2017-4-17', '廿一'],
- ['2017-4-18', '廿二'],
- ['2017-4-19', '廿三'],
- ['2017-4-20', '廿四', '穀雨'],
- ['2017-4-21', '廿五'],
- ['2017-4-22', '廿六'],
- ['2017-4-23', '廿七'],
- ['2017-4-24', '廿八'],
- ['2017-4-25', '廿九'],
- ['2017-4-26', '四月'],
- ['2017-4-27', '初二'],
- ['2017-4-28', '初三'],
- ['2017-4-29', '初四'],
- ['2017-4-30', '初五'],
- ['2017-5-1', '初六'],
- ['2017-5-2', '初七'],
- ['2017-5-3', '初八'],
- ['2017-5-4', '初九'],
- ['2017-5-5', '初十', '立夏'],
- ['2017-5-6', '十一'],
- ['2017-5-7', '十二'],
- ['2017-5-8', '十三'],
- ['2017-5-9', '十四'],
- ['2017-5-10', '十五'],
- ['2017-5-11', '十六'],
- ['2017-5-12', '十七'],
- ['2017-5-13', '十八'],
- ['2017-5-14', '十九'],
- ['2017-5-15', '二十'],
- ['2017-5-16', '廿一'],
- ['2017-5-17', '廿二'],
- ['2017-5-18', '廿三'],
- ['2017-5-19', '廿四'],
- ['2017-5-20', '廿五'],
- ['2017-5-21', '廿六', '小滿'],
- ['2017-5-22', '廿七'],
- ['2017-5-23', '廿八'],
- ['2017-5-24', '廿九'],
- ['2017-5-25', '三十'],
- ['2017-5-26', '五月'],
- ['2017-5-27', '初二'],
- ['2017-5-28', '初三'],
- ['2017-5-29', '初四'],
- ['2017-5-30', '初五'],
- ['2017-5-31', '初六'],
- ['2017-6-1', '初七'],
- ['2017-6-2', '初八'],
- ['2017-6-3', '初九'],
- ['2017-6-4', '初十'],
- ['2017-6-5', '十一', '芒種'],
- ['2017-6-6', '十二'],
- ['2017-6-7', '十三'],
- ['2017-6-8', '十四'],
- ['2017-6-9', '十五'],
- ['2017-6-10', '十六'],
- ['2017-6-11', '十七'],
- ['2017-6-12', '十八'],
- ['2017-6-13', '十九'],
- ['2017-6-14', '二十'],
- ['2017-6-15', '廿一'],
- ['2017-6-16', '廿二'],
- ['2017-6-17', '廿三'],
- ['2017-6-18', '廿四'],
- ['2017-6-19', '廿五'],
- ['2017-6-20', '廿六'],
- ['2017-6-21', '廿七', '夏至'],
- ['2017-6-22', '廿八'],
- ['2017-6-23', '廿九'],
- ['2017-6-24', '六月'],
- ['2017-6-25', '初二'],
- ['2017-6-26', '初三'],
- ['2017-6-27', '初四'],
- ['2017-6-28', '初五'],
- ['2017-6-29', '初六'],
- ['2017-6-30', '初七'],
- ['2017-7-1', '初八'],
- ['2017-7-2', '初九'],
- ['2017-7-3', '初十'],
- ['2017-7-4', '十一'],
- ['2017-7-5', '十二'],
- ['2017-7-6', '十三'],
- ['2017-7-7', '十四', '小暑'],
- ['2017-7-8', '十五'],
- ['2017-7-9', '十六'],
- ['2017-7-10', '十七'],
- ['2017-7-11', '十八'],
- ['2017-7-12', '十九'],
- ['2017-7-13', '二十'],
- ['2017-7-14', '廿一'],
- ['2017-7-15', '廿二'],
- ['2017-7-16', '廿三'],
- ['2017-7-17', '廿四'],
- ['2017-7-18', '廿五'],
- ['2017-7-19', '廿六'],
- ['2017-7-20', '廿七'],
- ['2017-7-21', '廿八'],
- ['2017-7-22', '廿九', '大暑'],
- ['2017-7-23', '閏六',],
- ['2017-7-24', '初二'],
- ['2017-7-25', '初三'],
- ['2017-7-26', '初四'],
- ['2017-7-27', '初五'],
- ['2017-7-28', '初六'],
- ['2017-7-29', '初七'],
- ['2017-7-30', '初八'],
- ['2017-7-31', '初九'],
- ['2017-8-1', '初十'],
- ['2017-8-2', '十一'],
- ['2017-8-3', '十二'],
- ['2017-8-4', '十三'],
- ['2017-8-5', '十四'],
- ['2017-8-6', '十五'],
- ['2017-8-7', '十六', '立秋'],
- ['2017-8-8', '十七'],
- ['2017-8-9', '十八'],
- ['2017-8-10', '十九'],
- ['2017-8-11', '二十'],
- ['2017-8-12', '廿一'],
- ['2017-8-13', '廿二'],
- ['2017-8-14', '廿三'],
- ['2017-8-15', '廿四'],
- ['2017-8-16', '廿五'],
- ['2017-8-17', '廿六'],
- ['2017-8-18', '廿七'],
- ['2017-8-19', '廿八'],
- ['2017-8-20', '廿九'],
- ['2017-8-21', '三十'],
- ['2017-8-22', '七月'],
- ['2017-8-23', '初二', '處暑'],
- ['2017-8-24', '初三'],
- ['2017-8-25', '初四'],
- ['2017-8-26', '初五'],
- ['2017-8-27', '初六'],
- ['2017-8-28', '初七'],
- ['2017-8-29', '初八'],
- ['2017-8-30', '初九'],
- ['2017-8-31', '初十'],
- ['2017-9-1', '十一'],
- ['2017-9-2', '十二'],
- ['2017-9-3', '十三'],
- ['2017-9-4', '十四'],
- ['2017-9-5', '十五'],
- ['2017-9-6', '十六'],
- ['2017-9-7', '十七', '白露'],
- ['2017-9-8', '十八'],
- ['2017-9-9', '十九'],
- ['2017-9-10', '二十'],
- ['2017-9-11', '廿一'],
- ['2017-9-12', '廿二'],
- ['2017-9-13', '廿三'],
- ['2017-9-14', '廿四'],
- ['2017-9-15', '廿五'],
- ['2017-9-16', '廿六'],
- ['2017-9-17', '廿七'],
- ['2017-9-18', '廿八'],
- ['2017-9-19', '廿九'],
- ['2017-9-20', '八月'],
- ['2017-9-21', '初二'],
- ['2017-9-22', '初三'],
- ['2017-9-23', '初四', '秋分'],
- ['2017-9-24', '初五'],
- ['2017-9-25', '初六'],
- ['2017-9-26', '初七'],
- ['2017-9-27', '初八'],
- ['2017-9-28', '初九'],
- ['2017-9-29', '初十'],
- ['2017-9-30', '十一'],
- ['2017-10-1', '十二'],
- ['2017-10-2', '十三'],
- ['2017-10-3', '十四'],
- ['2017-10-4', '十五'],
- ['2017-10-5', '十六'],
- ['2017-10-6', '十七'],
- ['2017-10-7', '十八'],
- ['2017-10-8', '十九', '寒露'],
- ['2017-10-9', '二十'],
- ['2017-10-10', '廿一'],
- ['2017-10-11', '廿二'],
- ['2017-10-12', '廿三'],
- ['2017-10-13', '廿四'],
- ['2017-10-14', '廿五'],
- ['2017-10-15', '廿六'],
- ['2017-10-16', '廿七'],
- ['2017-10-17', '廿八'],
- ['2017-10-18', '廿九'],
- ['2017-10-19', '三十'],
- ['2017-10-20', '九月'],
- ['2017-10-21', '初二'],
- ['2017-10-22', '初三'],
- ['2017-10-23', '初四', '霜降'],
- ['2017-10-24', '初五'],
- ['2017-10-25', '初六'],
- ['2017-10-26', '初七'],
- ['2017-10-27', '初八'],
- ['2017-10-28', '初九'],
- ['2017-10-29', '初十'],
- ['2017-10-30', '十一'],
- ['2017-10-31', '十二'],
- ['2017-11-1', '十三'],
- ['2017-11-2', '十四'],
- ['2017-11-3', '十五'],
- ['2017-11-4', '十六'],
- ['2017-11-5', '十七'],
- ['2017-11-6', '十八'],
- ['2017-11-7', '十九', '立冬'],
- ['2017-11-8', '二十'],
- ['2017-11-9', '廿一'],
- ['2017-11-10', '廿二'],
- ['2017-11-11', '廿三'],
- ['2017-11-12', '廿四'],
- ['2017-11-13', '廿五'],
- ['2017-11-14', '廿六'],
- ['2017-11-15', '廿七'],
- ['2017-11-16', '廿八'],
- ['2017-11-17', '廿九'],
- ['2017-11-18', '十月'],
- ['2017-11-19', '初二'],
- ['2017-11-20', '初三'],
- ['2017-11-21', '初四'],
- ['2017-11-22', '初五', '小雪'],
- ['2017-11-23', '初六'],
- ['2017-11-24', '初七'],
- ['2017-11-25', '初八'],
- ['2017-11-26', '初九'],
- ['2017-11-27', '初十'],
- ['2017-11-28', '十一'],
- ['2017-11-29', '十二'],
- ['2017-11-30', '十三'],
- ['2017-12-1', '十四'],
- ['2017-12-2', '十五'],
- ['2017-12-3', '十六'],
- ['2017-12-4', '十七'],
- ['2017-12-5', '十八'],
- ['2017-12-6', '十九'],
- ['2017-12-7', '二十', '大雪'],
- ['2017-12-8', '廿一'],
- ['2017-12-9', '廿二'],
- ['2017-12-10', '廿三'],
- ['2017-12-11', '廿四'],
- ['2017-12-12', '廿五'],
- ['2017-12-13', '廿六'],
- ['2017-12-14', '廿七'],
- ['2017-12-15', '廿八'],
- ['2017-12-16', '廿九'],
- ['2017-12-17', '三十'],
- ['2017-12-18', '十一月'],
- ['2017-12-19', '初二'],
- ['2017-12-20', '初三'],
- ['2017-12-21', '初四'],
- ['2017-12-22', '初五', '冬至'],
- ['2017-12-23', '初六'],
- ['2017-12-24', '初七'],
- ['2017-12-25', '初八'],
- ['2017-12-26', '初九'],
- ['2017-12-27', '初十'],
- ['2017-12-28', '十一'],
- ['2017-12-29', '十二'],
- ['2017-12-30', '十三'],
- ['2017-12-31', '十四']
-];
-
-var heatmapData = [];
-var lunarData = [];
-for (var i = 0; i < dateList.length; i++) {
- heatmapData.push([
- dateList[i][0],
- Math.random() * 300
- ]);
- lunarData.push([
- dateList[i][0],
- 1,
- dateList[i][1],
- dateList[i][2]
- ]);
-}
-
-
-option = {
- tooltip: {
- formatter: function (params) {
- return '降雨量: ' + params.value[1].toFixed(2);
- }
- },
-
- visualMap: {
- show: false,
- min: 0,
- max: 300,
- calculable: true,
- seriesIndex: [2],
- orient: 'horizontal',
- left: 'center',
- bottom: 20,
- inRange: {
- color: ['#e0ffff', '#006edd'],
- opacity: 0.3
- },
- controller: {
- inRange: {
- opacity: 0.5
- }
- }
- },
-
- calendar: [{
- left: 'center',
- top: 'middle',
- cellSize: [70, 70],
- yearLabel: {show: false},
- orient: 'vertical',
- dayLabel: {
- firstDay: 1,
- nameMap: 'cn'
- },
- monthLabel: {
- show: false
- },
- range: '2017-03'
- }],
-
- series: [{
- type: 'scatter',
- coordinateSystem: 'calendar',
- symbolSize: 1,
- label: {
- show: true,
- formatter: function (params) {
- var d = echarts.number.parseDate(params.value[0]);
- return d.getDate() + '\n\n' + params.value[2] + '\n\n';
- },
- color: '#000'
- },
- data: lunarData
- }, {
- type: 'scatter',
- coordinateSystem: 'calendar',
- symbolSize: 1,
- label: {
- show: true,
- formatter: function (params) {
- return '\n\n\n' + (params.value[3] || '');
- },
- fontSize: 14,
- fontWeight: 700,
- color: '#a00'
- },
- data: lunarData
- }, {
- name: '降雨量',
- type: 'heatmap',
- coordinateSystem: 'calendar',
- data: heatmapData
- }]
-};
\ No newline at end of file
diff --git a/public/data/calendar-pie.js b/public/data/calendar-pie.js
deleted file mode 100644
index 6097b0c..0000000
--- a/public/data/calendar-pie.js
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
-title: Calendar Pie
-category: 'calendar, pie'
-titleCN: 日历饼图
-difficulty: 6
-*/
-
-var cellSize = [80, 80];
-var pieRadius = 30;
-
-function getVirtulData() {
- var date = +echarts.number.parseDate('2017-02-01');
- var end = +echarts.number.parseDate('2017-03-01');
- var dayTime = 3600 * 24 * 1000;
- var data = [];
- for (var time = date; time < end; time += dayTime) {
- data.push([
- echarts.format.formatTime('yyyy-MM-dd', time),
- Math.floor(Math.random() * 10000)
- ]);
- }
- return data;
-}
-
-function getPieSeries(scatterData, chart) {
- return scatterData.map(function (item, index) {
- var center = chart.convertToPixel('calendar', item);
- return {
- id: index + 'pie',
- type: 'pie',
- center: center,
- label: {
- normal: {
- formatter: '{c}',
- position: 'inside'
- }
- },
- radius: pieRadius,
- data: [
- {name: '工作', value: Math.round(Math.random() * 24)},
- {name: '娱乐', value: Math.round(Math.random() * 24)},
- {name: '睡觉', value: Math.round(Math.random() * 24)}
- ]
- };
- });
-}
-
-function getPieSeriesUpdate(scatterData, chart) {
- return scatterData.map(function (item, index) {
- var center = chart.convertToPixel('calendar', item);
- return {
- id: index + 'pie',
- center: center
- };
- });
-}
-
-var scatterData = getVirtulData();
-
-option = {
- tooltip : {},
- legend: {
- data: ['工作', '娱乐', '睡觉'],
- bottom: 20
- },
- calendar: {
- top: 'middle',
- left: 'center',
- orient: 'vertical',
- cellSize: cellSize,
- yearLabel: {
- show: false,
- fontSize: 30
- },
- dayLabel: {
- margin: 20,
- firstDay: 1,
- nameMap: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']
- },
- monthLabel: {
- show: false
- },
- range: ['2017-02']
- },
- series: [{
- id: 'label',
- type: 'scatter',
- coordinateSystem: 'calendar',
- symbolSize: 1,
- label: {
- show: true,
- formatter: function (params) {
- return echarts.format.formatTime('dd', params.value[0]);
- },
- offset: [-cellSize[0] / 2 + 10, -cellSize[1] / 2 + 10],
- fontSize: 14
- },
- data: scatterData
- }]
-};
-
-var pieInitialized;
-setTimeout(function () {
- pieInitialized = true;
- myChart.setOption({
- series: getPieSeries(scatterData, myChart)
- });
-}, 10);
-
-app.onresize = function () {
- if (pieInitialized) {
- myChart.setOption({
- series: getPieSeriesUpdate(scatterData, myChart)
- });
- }
-};
\ No newline at end of file
diff --git a/public/data/calendar-simple.js b/public/data/calendar-simple.js
deleted file mode 100644
index 0d628bb..0000000
--- a/public/data/calendar-simple.js
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
-title: Simple Calendar
-titleCN: 基础日历图
-category: calendar
-difficulty: 0
-*/
-
-function getVirtulData(year) {
- year = year || '2017';
- var date = +echarts.number.parseDate(year + '-01-01');
- var end = +echarts.number.parseDate(year + '-12-31');
- var dayTime = 3600 * 24 * 1000;
- var data = [];
- for (var time = date; time <= end; time += dayTime) {
- data.push([
- echarts.format.formatTime('yyyy-MM-dd', time),
- Math.floor(Math.random() * 10000)
- ]);
- }
- return data;
-}
-
-option = {
- visualMap: {
- show: false,
- min: 0,
- max: 10000
- },
- calendar: {
- range: '2017'
- },
- series: {
- type: 'heatmap',
- coordinateSystem: 'calendar',
- data: getVirtulData(2017)
- }
-};
diff --git a/public/data/calendar-vertical.js b/public/data/calendar-vertical.js
deleted file mode 100644
index 3b27d7a..0000000
--- a/public/data/calendar-vertical.js
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-title: Calendar Heatmap Vertical
-category: 'calendar, heatmap'
-titleCN: 纵向日历图
-shotWidth: 900
-difficulty: 1
-*/
-
-function getVirtulData(year) {
- year = year || '2017';
- var date = +echarts.number.parseDate(year + '-01-01');
- var end = +echarts.number.parseDate((+year + 1) + '-01-01');
- var dayTime = 3600 * 24 * 1000;
- var data = [];
- for (var time = date; time < end; time += dayTime) {
- data.push([
- echarts.format.formatTime('yyyy-MM-dd', time),
- Math.floor(Math.random() * 1000)
- ]);
- }
- return data;
-}
-
-
-option = {
- tooltip: {
- position: 'top',
- formatter: function (p) {
- var format = echarts.format.formatTime('yyyy-MM-dd', p.data[0]);
- return format + ': ' + p.data[1];
- }
- },
- visualMap: {
- min: 0,
- max: 1000,
- calculable: true,
- orient: 'vertical',
- left: '670',
- top: 'center'
- },
-
- calendar: [{
- orient: 'vertical',
- range: '2015'
- },
- {
- left: 300,
- orient: 'vertical',
- range: '2016'
- },
- {
- left: 520,
- cellSize: [20, 'auto'],
- bottom: 10,
- orient: 'vertical',
- range: '2017',
- dayLabel: {
- margin: 5
- }
- }],
-
- series: [{
- type: 'heatmap',
- coordinateSystem: 'calendar',
- calendarIndex: 0,
- data: getVirtulData(2015)
- }, {
- type: 'heatmap',
- coordinateSystem: 'calendar',
- calendarIndex: 1,
- data: getVirtulData(2016)
- }, {
- type: 'heatmap',
- coordinateSystem: 'calendar',
- calendarIndex: 2,
- data: getVirtulData(2017)
- }]
-};
diff --git a/public/data/candlestick-brush.js b/public/data/candlestick-brush.js
deleted file mode 100644
index 36c4da7..0000000
--- a/public/data/candlestick-brush.js
+++ /dev/null
@@ -1,264 +0,0 @@
-/*
-title: Candlestick Brush
-category: candlestick
-titleCN: 日历图刷选
-*/
-
-var upColor = '#00da3c';
-var downColor = '#ec0000';
-
-
-function splitData(rawData) {
- var categoryData = [];
- var values = [];
- var volumes = [];
- for (var i = 0; i < rawData.length; i++) {
- categoryData.push(rawData[i].splice(0, 1)[0]);
- values.push(rawData[i]);
- volumes.push([i, rawData[i][4], rawData[i][0] > rawData[i][1] ? 1 : -1]);
- }
-
- return {
- categoryData: categoryData,
- values: values,
- volumes: volumes
- };
-}
-
-function calculateMA(dayCount, data) {
- var result = [];
- for (var i = 0, len = data.values.length; i < len; i++) {
- if (i < dayCount) {
- result.push('-');
- continue;
- }
- var sum = 0;
- for (var j = 0; j < dayCount; j++) {
- sum += data.values[i - j][1];
- }
- result.push(+(sum / dayCount).toFixed(3));
- }
- return result;
-}
-
-$.get(ROOT_PATH + '/data/asset/data/stock-DJI.json', function (rawData) {
-
- var data = splitData(rawData);
-
- myChart.setOption(option = {
- animation: false,
- legend: {
- bottom: 10,
- left: 'center',
- data: ['Dow-Jones index', 'MA5', 'MA10', 'MA20', 'MA30']
- },
- tooltip: {
- trigger: 'axis',
- axisPointer: {
- type: 'cross'
- },
- borderWidth: 1,
- borderColor: '#ccc',
- padding: 10,
- textStyle: {
- color: '#000'
- },
- position: function (pos, params, el, elRect, size) {
- var obj = {top: 10};
- obj[['left', 'right'][+(pos[0] < size.viewSize[0] / 2)]] = 30;
- return obj;
- }
- // extraCssText: 'width: 170px'
- },
- axisPointer: {
- link: {xAxisIndex: 'all'},
- label: {
- backgroundColor: '#777'
- }
- },
- toolbox: {
- feature: {
- dataZoom: {
- yAxisIndex: false
- },
- brush: {
- type: ['lineX', 'clear']
- }
- }
- },
- brush: {
- xAxisIndex: 'all',
- brushLink: 'all',
- outOfBrush: {
- colorAlpha: 0.1
- }
- },
- visualMap: {
- show: false,
- seriesIndex: 5,
- dimension: 2,
- pieces: [{
- value: 1,
- color: downColor
- }, {
- value: -1,
- color: upColor
- }]
- },
- grid: [
- {
- left: '10%',
- right: '8%',
- height: '50%'
- },
- {
- left: '10%',
- right: '8%',
- top: '63%',
- height: '16%'
- }
- ],
- xAxis: [
- {
- type: 'category',
- data: data.categoryData,
- scale: true,
- boundaryGap: false,
- axisLine: {onZero: false},
- splitLine: {show: false},
- splitNumber: 20,
- min: 'dataMin',
- max: 'dataMax',
- axisPointer: {
- z: 100
- }
- },
- {
- type: 'category',
- gridIndex: 1,
- data: data.categoryData,
- scale: true,
- boundaryGap: false,
- axisLine: {onZero: false},
- axisTick: {show: false},
- splitLine: {show: false},
- axisLabel: {show: false},
- splitNumber: 20,
- min: 'dataMin',
- max: 'dataMax'
- }
- ],
- yAxis: [
- {
- scale: true,
- splitArea: {
- show: true
- }
- },
- {
- scale: true,
- gridIndex: 1,
- splitNumber: 2,
- axisLabel: {show: false},
- axisLine: {show: false},
- axisTick: {show: false},
- splitLine: {show: false}
- }
- ],
- dataZoom: [
- {
- type: 'inside',
- xAxisIndex: [0, 1],
- start: 98,
- end: 100
- },
- {
- show: true,
- xAxisIndex: [0, 1],
- type: 'slider',
- top: '85%',
- start: 98,
- end: 100
- }
- ],
- series: [
- {
- name: 'Dow-Jones index',
- type: 'candlestick',
- data: data.values,
- itemStyle: {
- color: upColor,
- color0: downColor,
- borderColor: null,
- borderColor0: null
- },
- tooltip: {
- formatter: function (param) {
- param = param[0];
- return [
- 'Date: ' + param.name + '<hr size=1 style="margin: 3px 0">',
- 'Open: ' + param.data[0] + '<br/>',
- 'Close: ' + param.data[1] + '<br/>',
- 'Lowest: ' + param.data[2] + '<br/>',
- 'Highest: ' + param.data[3] + '<br/>'
- ].join('');
- }
- }
- },
- {
- name: 'MA5',
- type: 'line',
- data: calculateMA(5, data),
- smooth: true,
- lineStyle: {
- opacity: 0.5
- }
- },
- {
- name: 'MA10',
- type: 'line',
- data: calculateMA(10, data),
- smooth: true,
- lineStyle: {
- opacity: 0.5
- }
- },
- {
- name: 'MA20',
- type: 'line',
- data: calculateMA(20, data),
- smooth: true,
- lineStyle: {
- opacity: 0.5
- }
- },
- {
- name: 'MA30',
- type: 'line',
- data: calculateMA(30, data),
- smooth: true,
- lineStyle: {
- opacity: 0.5
- }
- },
- {
- name: 'Volume',
- type: 'bar',
- xAxisIndex: 1,
- yAxisIndex: 1,
- data: data.volumes
- }
- ]
- }, true);
-
- myChart.dispatchAction({
- type: 'brush',
- areas: [
- {
- brushType: 'lineX',
- coordRange: ['2016-06-02', '2016-06-20'],
- xAxisIndex: 0
- }
- ]
- });
-});
\ No newline at end of file
diff --git a/public/data/candlestick-large.js b/public/data/candlestick-large.js
deleted file mode 100644
index b1c942f..0000000
--- a/public/data/candlestick-large.js
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
-title: Large Scale Candlestick
-category: candlestick
-titleCN: 大数据量K线图
-difficulty: 3
-*/
-
-var upColor = '#ec0000';
-var upBorderColor = '#8A0000';
-var downColor = '#00da3c';
-var downBorderColor = '#008F28';
-
-var dataCount = 2e5;
-var data = generateOHLC(dataCount);
-
-var option = {
- dataset: {
- source: data
- },
- title: {
- text: 'Data Amount: ' + echarts.format.addCommas(dataCount)
- },
- tooltip: {
- trigger: 'axis',
- axisPointer: {
- type: 'line'
- }
- },
- toolbox: {
- feature: {
- dataZoom: {
- yAxisIndex: false
- },
- }
- },
- grid: [
- {
- left: '10%',
- right: '10%',
- bottom: 200
- },
- {
- left: '10%',
- right: '10%',
- height: 80,
- bottom: 80
- }
- ],
- xAxis: [
- {
- type: 'category',
- scale: true,
- boundaryGap: false,
- // inverse: true,
- axisLine: {onZero: false},
- splitLine: {show: false},
- splitNumber: 20,
- min: 'dataMin',
- max: 'dataMax'
- },
- {
- type: 'category',
- gridIndex: 1,
- scale: true,
- boundaryGap: false,
- axisLine: {onZero: false},
- axisTick: {show: false},
- splitLine: {show: false},
- axisLabel: {show: false},
- splitNumber: 20,
- min: 'dataMin',
- max: 'dataMax'
- }
- ],
- yAxis: [
- {
- scale: true,
- splitArea: {
- show: true
- }
- },
- {
- scale: true,
- gridIndex: 1,
- splitNumber: 2,
- axisLabel: {show: false},
- axisLine: {show: false},
- axisTick: {show: false},
- splitLine: {show: false}
- }
- ],
- dataZoom: [
- {
- type: 'inside',
- xAxisIndex: [0, 1],
- start: 10,
- end: 100
- },
- {
- show: true,
- xAxisIndex: [0, 1],
- type: 'slider',
- bottom: 10,
- start: 10,
- end: 100
- }
- ],
- visualMap: {
- show: false,
- seriesIndex: 1,
- dimension: 6,
- pieces: [{
- value: 1,
- color: upColor
- }, {
- value: -1,
- color: downColor
- }]
- },
- series: [
- {
- type: 'candlestick',
- itemStyle: {
- color: upColor,
- color0: downColor,
- borderColor: upBorderColor,
- borderColor0: downBorderColor
- },
- encode: {
- x: 0,
- y: [1, 4, 3, 2]
- }
- },
- {
- name: 'Volumn',
- type: 'bar',
- xAxisIndex: 1,
- yAxisIndex: 1,
- itemStyle: {
- color: '#7fbe9e'
- },
- large: true,
- encode: {
- x: 0,
- y: 5
- }
- }
- ]
-};
-
-function generateOHLC(count) {
- var data = [];
-
- var xValue = +new Date(2011, 0, 1);
- var minute = 60 * 1000;
- var baseValue = Math.random() * 12000;
- var boxVals = new Array(4);
- var dayRange = 12;
-
- for (var i = 0; i < count; i++) {
- baseValue = baseValue + Math.random() * 20 - 10;
-
- for (var j = 0; j < 4; j++) {
- boxVals[j] = (Math.random() - 0.5) * dayRange + baseValue;
- }
- boxVals.sort();
-
- var openIdx = Math.round(Math.random() * 3);
- var closeIdx = Math.round(Math.random() * 2);
- if (closeIdx === openIdx) {
- closeIdx++;
- }
- var volumn = boxVals[3] * (1000 + Math.random() * 500);
-
- // ['open', 'close', 'lowest', 'highest', 'volumn']
- // [1, 4, 3, 2]
- data[i] = [
- echarts.format.formatTime('yyyy-MM-dd\nhh:mm:ss', xValue += minute),
- +boxVals[openIdx].toFixed(2), // open
- +boxVals[3].toFixed(2), // highest
- +boxVals[0].toFixed(2), // lowest
- +boxVals[closeIdx].toFixed(2), // close
- volumn.toFixed(0),
- getSign(data, i, +boxVals[openIdx], +boxVals[closeIdx], 4) // sign
- ];
- }
-
- return data;
-
- function getSign(data, dataIndex, openVal, closeVal, closeDimIdx) {
- var sign;
- if (openVal > closeVal) {
- sign = -1;
- }
- else if (openVal < closeVal) {
- sign = 1;
- }
- else {
- sign = dataIndex > 0
- // If close === open, compare with close of last record
- ? (data[dataIndex - 1][closeDimIdx] <= closeVal ? 1 : -1)
- // No record of previous, set to be positive
- : 1;
- }
-
- return sign;
- }
-}
diff --git a/public/data/candlestick-sh-2015.js b/public/data/candlestick-sh-2015.js
deleted file mode 100644
index 7dec204..0000000
--- a/public/data/candlestick-sh-2015.js
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
-title: 'ShangHai Index, 2015'
-category: candlestick
-titleCN: 2015 年上证指数
-*/
-
-var rawData = [['2015/12/31','3570.47','3539.18','-33.69','-0.94%','3538.35','3580.6','176963664','25403106','-'],['2015/12/30','3566.73','3572.88','9.14','0.26%','3538.11','3573.68','187889600','26778766','-'],['2015/12/29','3528.4','3563.74','29.96','0.85%','3515.52','3564.17','182551920','25093890','-'],['2015/12/28','3635.77','3533.78','-94.13','-2.59%','3533.78','3641.59','269983264','36904280','-'],['2015/12/25','3614.05','3627.91','15.43','0.43%','3601.74','3635.26','198451120','2 [...]
-
-function calculateMA(dayCount, data) {
- var result = [];
- for (var i = 0, len = data.length; i < len; i++) {
- if (i < dayCount) {
- result.push('-');
- continue;
- }
- var sum = 0;
- for (var j = 0; j < dayCount; j++) {
- sum += data[i - j][1];
- }
- result.push(sum / dayCount);
- }
- return result;
-}
-
-
-var dates = rawData.map(function (item) {
- return item[0];
-});
-
-var data = rawData.map(function (item) {
- return [+item[1], +item[2], +item[5], +item[6]];
-});
-var option = {
- legend: {
- data: ['日K', 'MA5', 'MA10', 'MA20', 'MA30'],
- inactiveColor: '#777',
- },
- tooltip: {
- trigger: 'axis',
- axisPointer: {
- animation: false,
- type: 'cross',
- lineStyle: {
- color: '#376df4',
- width: 2,
- opacity: 1
- }
- }
- },
- xAxis: {
- type: 'category',
- data: dates,
- axisLine: { lineStyle: { color: '#8392A5' } }
- },
- yAxis: {
- scale: true,
- axisLine: { lineStyle: { color: '#8392A5' } },
- splitLine: { show: false }
- },
- grid: {
- bottom: 80
- },
- dataZoom: [{
- textStyle: {
- color: '#8392A5'
- },
- handleIcon: 'path://M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z',
- dataBackground: {
- areaStyle: {
- color: '#8392A5'
- },
- lineStyle: {
- opacity: 0.8,
- color: '#8392A5'
- }
- },
- brushSelect: true
- }, {
- type: 'inside'
- }],
- series: [
- {
- type: 'candlestick',
- name: '日K',
- data: data,
- itemStyle: {
- color: '#FD1050',
- color0: '#0CF49B',
- borderColor: '#FD1050',
- borderColor0: '#0CF49B'
- }
- },
- {
- name: 'MA5',
- type: 'line',
- data: calculateMA(5, data),
- smooth: true,
- showSymbol: false,
- lineStyle: {
- width: 1
- }
- },
- {
- name: 'MA10',
- type: 'line',
- data: calculateMA(10, data),
- smooth: true,
- showSymbol: false,
- lineStyle: {
- width: 1
- }
- },
- {
- name: 'MA20',
- type: 'line',
- data: calculateMA(20, data),
- smooth: true,
- showSymbol: false,
- lineStyle: {
- width: 1
- }
- },
- {
- name: 'MA30',
- type: 'line',
- data: calculateMA(30, data),
- smooth: true,
- showSymbol: false,
- lineStyle: {
- width: 1
- }
- }
- ]
-};
\ No newline at end of file
diff --git a/public/data/candlestick-sh.js b/public/data/candlestick-sh.js
deleted file mode 100644
index 3563bd4..0000000
--- a/public/data/candlestick-sh.js
+++ /dev/null
@@ -1,324 +0,0 @@
-/*
-title: ShangHai Index
-category: candlestick
-titleCN: 上证指数
-difficulty: 2
-*/
-
-var upColor = '#ec0000';
-var upBorderColor = '#8A0000';
-var downColor = '#00da3c';
-var downBorderColor = '#008F28';
-
-
-// 数据意义:开盘(open),收盘(close),最低(lowest),最高(highest)
-var data0 = splitData([
- ['2013/1/24', 2320.26,2320.26,2287.3,2362.94],
- ['2013/1/25', 2300,2291.3,2288.26,2308.38],
- ['2013/1/28', 2295.35,2346.5,2295.35,2346.92],
- ['2013/1/29', 2347.22,2358.98,2337.35,2363.8],
- ['2013/1/30', 2360.75,2382.48,2347.89,2383.76],
- ['2013/1/31', 2383.43,2385.42,2371.23,2391.82],
- ['2013/2/1', 2377.41,2419.02,2369.57,2421.15],
- ['2013/2/4', 2425.92,2428.15,2417.58,2440.38],
- ['2013/2/5', 2411,2433.13,2403.3,2437.42],
- ['2013/2/6', 2432.68,2434.48,2427.7,2441.73],
- ['2013/2/7', 2430.69,2418.53,2394.22,2433.89],
- ['2013/2/8', 2416.62,2432.4,2414.4,2443.03],
- ['2013/2/18', 2441.91,2421.56,2415.43,2444.8],
- ['2013/2/19', 2420.26,2382.91,2373.53,2427.07],
- ['2013/2/20', 2383.49,2397.18,2370.61,2397.94],
- ['2013/2/21', 2378.82,2325.95,2309.17,2378.82],
- ['2013/2/22', 2322.94,2314.16,2308.76,2330.88],
- ['2013/2/25', 2320.62,2325.82,2315.01,2338.78],
- ['2013/2/26', 2313.74,2293.34,2289.89,2340.71],
- ['2013/2/27', 2297.77,2313.22,2292.03,2324.63],
- ['2013/2/28', 2322.32,2365.59,2308.92,2366.16],
- ['2013/3/1', 2364.54,2359.51,2330.86,2369.65],
- ['2013/3/4', 2332.08,2273.4,2259.25,2333.54],
- ['2013/3/5', 2274.81,2326.31,2270.1,2328.14],
- ['2013/3/6', 2333.61,2347.18,2321.6,2351.44],
- ['2013/3/7', 2340.44,2324.29,2304.27,2352.02],
- ['2013/3/8', 2326.42,2318.61,2314.59,2333.67],
- ['2013/3/11', 2314.68,2310.59,2296.58,2320.96],
- ['2013/3/12', 2309.16,2286.6,2264.83,2333.29],
- ['2013/3/13', 2282.17,2263.97,2253.25,2286.33],
- ['2013/3/14', 2255.77,2270.28,2253.31,2276.22],
- ['2013/3/15', 2269.31,2278.4,2250,2312.08],
- ['2013/3/18', 2267.29,2240.02,2239.21,2276.05],
- ['2013/3/19', 2244.26,2257.43,2232.02,2261.31],
- ['2013/3/20', 2257.74,2317.37,2257.42,2317.86],
- ['2013/3/21', 2318.21,2324.24,2311.6,2330.81],
- ['2013/3/22', 2321.4,2328.28,2314.97,2332],
- ['2013/3/25', 2334.74,2326.72,2319.91,2344.89],
- ['2013/3/26', 2318.58,2297.67,2281.12,2319.99],
- ['2013/3/27', 2299.38,2301.26,2289,2323.48],
- ['2013/3/28', 2273.55,2236.3,2232.91,2273.55],
- ['2013/3/29', 2238.49,2236.62,2228.81,2246.87],
- ['2013/4/1', 2229.46,2234.4,2227.31,2243.95],
- ['2013/4/2', 2234.9,2227.74,2220.44,2253.42],
- ['2013/4/3', 2232.69,2225.29,2217.25,2241.34],
- ['2013/4/8', 2196.24,2211.59,2180.67,2212.59],
- ['2013/4/9', 2215.47,2225.77,2215.47,2234.73],
- ['2013/4/10', 2224.93,2226.13,2212.56,2233.04],
- ['2013/4/11', 2236.98,2219.55,2217.26,2242.48],
- ['2013/4/12', 2218.09,2206.78,2204.44,2226.26],
- ['2013/4/15', 2199.91,2181.94,2177.39,2204.99],
- ['2013/4/16', 2169.63,2194.85,2165.78,2196.43],
- ['2013/4/17', 2195.03,2193.8,2178.47,2197.51],
- ['2013/4/18', 2181.82,2197.6,2175.44,2206.03],
- ['2013/4/19', 2201.12,2244.64,2200.58,2250.11],
- ['2013/4/22', 2236.4,2242.17,2232.26,2245.12],
- ['2013/4/23', 2242.62,2184.54,2182.81,2242.62],
- ['2013/4/24', 2187.35,2218.32,2184.11,2226.12],
- ['2013/4/25', 2213.19,2199.31,2191.85,2224.63],
- ['2013/4/26', 2203.89,2177.91,2173.86,2210.58],
- ['2013/5/2', 2170.78,2174.12,2161.14,2179.65],
- ['2013/5/3', 2179.05,2205.5,2179.05,2222.81],
- ['2013/5/6', 2212.5,2231.17,2212.5,2236.07],
- ['2013/5/7', 2227.86,2235.57,2219.44,2240.26],
- ['2013/5/8', 2242.39,2246.3,2235.42,2255.21],
- ['2013/5/9', 2246.96,2232.97,2221.38,2247.86],
- ['2013/5/10', 2228.82,2246.83,2225.81,2247.67],
- ['2013/5/13', 2247.68,2241.92,2231.36,2250.85],
- ['2013/5/14', 2238.9,2217.01,2205.87,2239.93],
- ['2013/5/15', 2217.09,2224.8,2213.58,2225.19],
- ['2013/5/16', 2221.34,2251.81,2210.77,2252.87],
- ['2013/5/17', 2249.81,2282.87,2248.41,2288.09],
- ['2013/5/20', 2286.33,2299.99,2281.9,2309.39],
- ['2013/5/21', 2297.11,2305.11,2290.12,2305.3],
- ['2013/5/22', 2303.75,2302.4,2292.43,2314.18],
- ['2013/5/23', 2293.81,2275.67,2274.1,2304.95],
- ['2013/5/24', 2281.45,2288.53,2270.25,2292.59],
- ['2013/5/27', 2286.66,2293.08,2283.94,2301.7],
- ['2013/5/28', 2293.4,2321.32,2281.47,2322.1],
- ['2013/5/29', 2323.54,2324.02,2321.17,2334.33],
- ['2013/5/30', 2316.25,2317.75,2310.49,2325.72],
- ['2013/5/31', 2320.74,2300.59,2299.37,2325.53],
- ['2013/6/3', 2300.21,2299.25,2294.11,2313.43],
- ['2013/6/4', 2297.1,2272.42,2264.76,2297.1],
- ['2013/6/5', 2270.71,2270.93,2260.87,2276.86],
- ['2013/6/6', 2264.43,2242.11,2240.07,2266.69],
- ['2013/6/7', 2242.26,2210.9,2205.07,2250.63],
- ['2013/6/13', 2190.1,2148.35,2126.22,2190.1]
-]);
-
-
-function splitData(rawData) {
- var categoryData = [];
- var values = []
- for (var i = 0; i < rawData.length; i++) {
- categoryData.push(rawData[i].splice(0, 1)[0]);
- values.push(rawData[i])
- }
- return {
- categoryData: categoryData,
- values: values
- };
-}
-
-function calculateMA(dayCount) {
- var result = [];
- for (var i = 0, len = data0.values.length; i < len; i++) {
- if (i < dayCount) {
- result.push('-');
- continue;
- }
- var sum = 0;
- for (var j = 0; j < dayCount; j++) {
- sum += data0.values[i - j][1];
- }
- result.push(sum / dayCount);
- }
- return result;
-}
-
-
-
-option = {
- title: {
- text: '上证指数',
- left: 0
- },
- tooltip: {
- trigger: 'axis',
- axisPointer: {
- type: 'cross'
- }
- },
- legend: {
- data: ['日K', 'MA5', 'MA10', 'MA20', 'MA30']
- },
- grid: {
- left: '10%',
- right: '10%',
- bottom: '15%'
- },
- xAxis: {
- type: 'category',
- data: data0.categoryData,
- scale: true,
- boundaryGap: false,
- axisLine: {onZero: false},
- splitLine: {show: false},
- splitNumber: 20,
- min: 'dataMin',
- max: 'dataMax'
- },
- yAxis: {
- scale: true,
- splitArea: {
- show: true
- }
- },
- dataZoom: [
- {
- type: 'inside',
- start: 50,
- end: 100
- },
- {
- show: true,
- type: 'slider',
- top: '90%',
- start: 50,
- end: 100
- }
- ],
- series: [
- {
- name: '日K',
- type: 'candlestick',
- data: data0.values,
- itemStyle: {
- color: upColor,
- color0: downColor,
- borderColor: upBorderColor,
- borderColor0: downBorderColor
- },
- markPoint: {
- label: {
- normal: {
- formatter: function (param) {
- return param != null ? Math.round(param.value) : '';
- }
- }
- },
- data: [
- {
- name: 'XX标点',
- coord: ['2013/5/31', 2300],
- value: 2300,
- itemStyle: {
- color: 'rgb(41,60,85)'
- }
- },
- {
- name: 'highest value',
- type: 'max',
- valueDim: 'highest'
- },
- {
- name: 'lowest value',
- type: 'min',
- valueDim: 'lowest'
- },
- {
- name: 'average value on close',
- type: 'average',
- valueDim: 'close'
- }
- ],
- tooltip: {
- formatter: function (param) {
- return param.name + '<br>' + (param.data.coord || '');
- }
- }
- },
- markLine: {
- symbol: ['none', 'none'],
- data: [
- [
- {
- name: 'from lowest to highest',
- type: 'min',
- valueDim: 'lowest',
- symbol: 'circle',
- symbolSize: 10,
- label: {
- show: false
- },
- emphasis: {
- label: {
- show: false
- }
- }
- },
- {
- type: 'max',
- valueDim: 'highest',
- symbol: 'circle',
- symbolSize: 10,
- label: {
- show: false
- },
- emphasis: {
- label: {
- show: false
- }
- }
- }
- ],
- {
- name: 'min line on close',
- type: 'min',
- valueDim: 'close'
- },
- {
- name: 'max line on close',
- type: 'max',
- valueDim: 'close'
- }
- ]
- }
- },
- {
- name: 'MA5',
- type: 'line',
- data: calculateMA(5),
- smooth: true,
- lineStyle: {
- opacity: 0.5
- }
- },
- {
- name: 'MA10',
- type: 'line',
- data: calculateMA(10),
- smooth: true,
- lineStyle: {
- opacity: 0.5
- }
- },
- {
- name: 'MA20',
- type: 'line',
- data: calculateMA(20),
- smooth: true,
- lineStyle: {
- opacity: 0.5
- }
- },
- {
- name: 'MA30',
- type: 'line',
- data: calculateMA(30),
- smooth: true,
- lineStyle: {
- opacity: 0.5
- }
- },
-
- ]
-};
-
diff --git a/public/data/candlestick-simple.js b/public/data/candlestick-simple.js
deleted file mode 100644
index a5dbdff..0000000
--- a/public/data/candlestick-simple.js
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
-title: Basic Candlestick
-category: candlestick
-titleCN: 基础 K 线图
-difficulty: 0
-*/
-
-option = {
- xAxis: {
- data: ['2017-10-24', '2017-10-25', '2017-10-26', '2017-10-27']
- },
- yAxis: {},
- series: [{
- type: 'k',
- data: [
- [20, 34, 10,38],
- [40, 35, 30, 50],
- [31, 38, 33, 44],
- [38, 15, 5, 42]
- ]
- }]
-};
diff --git a/public/data/candlestick-touch.js b/public/data/candlestick-touch.js
deleted file mode 100644
index 70c338f..0000000
--- a/public/data/candlestick-touch.js
+++ /dev/null
@@ -1,245 +0,0 @@
-/*
-title: Axis Pointer Link and Touch
-category: candlestick
-titleCN: 触屏上的坐标轴指示器
-difficulty: 4
-*/
-
-
-var rawData = [["2015/1/5","3258.63","3350.52","115.84","3.58%","3253.88","3369.28","531352384","54976008","-"],["2015/1/6","3330.8","3351.45","0.93","0.03%","3303.18","3394.22","501661696","53239848","-"],["2015/1/7","3326.65","3373.95","22.51","0.67%","3312.21","3374.9","391918880","43641672","-"],["2015/1/8","3371.96","3293.46","-80.5","-2.39%","3285.09","3381.57","371131200","39923032","-"],["2015/1/9","3276.97","3285.41","-8.04","-0.24%","3267.51","3404.83","410240864","45864804","- [...]
-var colorList = ['#c23531','#2f4554', '#61a0a8', '#d48265', '#91c7ae','#749f83', '#ca8622', '#bda29a','#6e7074', '#546570', '#c4ccd3'];
-var labelFont = 'bold 12px Sans-serif';
-
-function calculateMA(dayCount, data) {
- var result = [];
- for (var i = 0, len = data.length; i < len; i++) {
- if (i < dayCount) {
- result.push('-');
- continue;
- }
- var sum = 0;
- for (var j = 0; j < dayCount; j++) {
- sum += data[i - j][1];
- }
- result.push((sum / dayCount).toFixed(2));
- }
- return result;
-}
-
-
-var dates = ["2016-03-29", "2016-03-30", "2016-03-31", "2016-04-01", "2016-04-04", "2016-04-05", "2016-04-06", "2016-04-07", "2016-04-08", "2016-04-11", "2016-04-12", "2016-04-13", "2016-04-14", "2016-04-15", "2016-04-18", "2016-04-19", "2016-04-20", "2016-04-21", "2016-04-22", "2016-04-25", "2016-04-26", "2016-04-27", "2016-04-28", "2016-04-29", "2016-05-02", "2016-05-03", "2016-05-04", "2016-05-05", "2016-05-06", "2016-05-09", "2016-05-10", "2016-05-11", "2016-05-12", "2016-05-13", "20 [...]
-var data = [[17512.58,17633.11,17434.27,17642.81,86160000],[17652.36,17716.66,17652.36,17790.11,79330000],[17716.05,17685.09,17669.72,17755.7,102600000],[17661.74,17792.75,17568.02,17811.48,104890000],[17799.39,17737,17710.67,17806.38,85230000],[17718.03,17603.32,17579.56,17718.03,115230000],[17605.45,17716.05,17542.54,17723.55,99410000],[17687.28,17541.96,17484.23,17687.28,90120000],[17555.39,17576.96,17528.16,17694.51,79990000],[17586.48,17556.41,17555.9,17731.63,107100000],[17571.34,1 [...]
-var volumes = [86160000,79330000,102600000,104890000,85230000,115230000,99410000,90120000,79990000,107100000,81020000,91710000,84510000,118160000,89390000,89820000,100210000,102720000,134120000,83770000,92570000,109090000,100920000,136670000,80100000,97060000,95020000,81530000,80020000,85590000,75790000,87390000,88560000,86640000,88440000,103260000,79120000,95530000,111990000,87790000,86480000,79180000,68940000,73190000,147390000,78530000,75560000,82270000,71870000,78750000,71260000,6969 [...]
-
-var dataMA5 = calculateMA(5, data);
-var dataMA10 = calculateMA(10, data);
-var dataMA20 = calculateMA(20, data);
-
-
-option = {
- animation: false,
- color: colorList,
- title: {
- left: 'center',
- text: '移动端 K线图'
- },
- legend: {
- top: 30,
- data: ['日K', 'MA5', 'MA10', 'MA20', 'MA30']
- },
- tooltip: {
- triggerOn: 'none',
- transitionDuration: 0,
- confine: true,
- borderRadius: 4,
- borderWidth: 1,
- borderColor: '#333',
- backgroundColor: 'rgba(255,255,255,0.9)',
- textStyle: {
- fontSize: 12,
- color: '#333'
- },
- position: function (pos, params, el, elRect, size) {
- var obj = {
- top: 60
- };
- obj[['left', 'right'][+(pos[0] < size.viewSize[0] / 2)]] = 5;
- return obj;
- }
- },
- axisPointer: {
- link: [{
- xAxisIndex: [0, 1]
- }]
- },
- dataZoom: [{
- type: 'slider',
- xAxisIndex: [0, 1],
- realtime: false,
- start: 20,
- end: 70,
- top: 65,
- height: 20,
- handleIcon: 'path://M10.7,11.9H9.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z',
- handleSize: '120%'
- }, {
- type: 'inside',
- xAxisIndex: [0, 1],
- start: 40,
- end: 70,
- top: 30,
- height: 20
- }],
- xAxis: [{
- type: 'category',
- data: dates,
- boundaryGap : false,
- axisLine: { lineStyle: { color: '#777' } },
- axisLabel: {
- formatter: function (value) {
- return echarts.format.formatTime('MM-dd', value);
- }
- },
- min: 'dataMin',
- max: 'dataMax',
- axisPointer: {
- show: true
- }
- }, {
- type: 'category',
- gridIndex: 1,
- data: dates,
- scale: true,
- boundaryGap : false,
- splitLine: {show: false},
- axisLabel: {show: false},
- axisTick: {show: false},
- axisLine: { lineStyle: { color: '#777' } },
- splitNumber: 20,
- min: 'dataMin',
- max: 'dataMax',
- axisPointer: {
- type: 'shadow',
- label: {show: false},
- triggerTooltip: true,
- handle: {
- show: true,
- margin: 30,
- color: '#B80C00'
- }
- }
- }],
- yAxis: [{
- scale: true,
- splitNumber: 2,
- axisLine: { lineStyle: { color: '#777' } },
- splitLine: { show: true },
- axisTick: { show: false },
- axisLabel: {
- inside: true,
- formatter: '{value}\n'
- }
- }, {
- scale: true,
- gridIndex: 1,
- splitNumber: 2,
- axisLabel: {show: false},
- axisLine: {show: false},
- axisTick: {show: false},
- splitLine: {show: false}
- }],
- grid: [{
- left: 20,
- right: 20,
- top: 110,
- height: 120
- }, {
- left: 20,
- right: 20,
- height: 40,
- top: 260
- }],
- graphic: [{
- type: 'group',
- left: 'center',
- top: 70,
- width: 300,
- bounding: 'raw',
- children: [{
- id: 'MA5',
- type: 'text',
- style: {fill: colorList[1], font: labelFont},
- left: 0
- }, {
- id: 'MA10',
- type: 'text',
- style: {fill: colorList[2], font: labelFont},
- left: 'center'
- }, {
- id: 'MA20',
- type: 'text',
- style: {fill: colorList[3], font: labelFont},
- right: 0
- }]
- }],
- series: [{
- name: 'Volume',
- type: 'bar',
- xAxisIndex: 1,
- yAxisIndex: 1,
- itemStyle: {
- color: '#7fbe9e'
- },
- emphasis: {
- itemStyle: {
- color: '#140'
- }
- },
- data: volumes
- }, {
- type: 'candlestick',
- name: '日K',
- data: data,
- itemStyle: {
- color: '#ef232a',
- color0: '#14b143',
- borderColor: '#ef232a',
- borderColor0: '#14b143'
- },
- emphasis: {
- itemStyle: {
- color: 'black',
- color0: '#444',
- borderColor: 'black',
- borderColor0: '#444'
- }
- }
- }, {
- name: 'MA5',
- type: 'line',
- data: dataMA5,
- smooth: true,
- showSymbol: false,
- lineStyle: {
- width: 1
- }
- }, {
- name: 'MA10',
- type: 'line',
- data: dataMA10,
- smooth: true,
- showSymbol: false,
- lineStyle: {
- width: 1
- }
- }, {
- name: 'MA20',
- type: 'line',
- data: dataMA20,
- smooth: true,
- showSymbol: false,
- lineStyle: {
- width: 1
- }
- }]
-};
diff --git a/public/data/circle-packing-with-d3.js b/public/data/circle-packing-with-d3.js
deleted file mode 100644
index 4cedb94..0000000
--- a/public/data/circle-packing-with-d3.js
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
-title: Circle Packing with d3
-category: custom
-titleCN: Circle Packing with d3
-difficulty: 11
-*/
-
-$.when(
- $.get(ROOT_PATH + '/data/asset/data/option-view.json'),
- $.getScript('https://cdn.jsdelivr.net/npm/d3-hierarchy@2.0.0/dist/d3-hierarchy.min.js')
-).done(function (res) {
- run(res[0]);
-});
-
-function run(rawData) {
-
- var dataWrap = prepareData(rawData);
-
- initChart(dataWrap.seriesData, dataWrap.maxDepth);
-}
-
-function prepareData(rawData) {
- var seriesData = [];
- var maxDepth = 0;
-
- function convert(source, basePath, depth) {
- if (source == null) {
- return;
- }
- if (maxDepth > 5) {
- return;
- }
- maxDepth = Math.max(depth, maxDepth);
-
- seriesData.push({
- id: basePath,
- value: source.$count,
- depth: depth,
- index: seriesData.length
- });
-
- for (var key in source) {
- if (source.hasOwnProperty(key) && !key.match(/^\$/)) {
- var path = basePath + '.' + key;
- convert(source[key], path, depth + 1);
- }
- }
- }
-
- convert(rawData, 'option', 0);
-
- return {
- seriesData: seriesData,
- maxDepth: maxDepth
- };
-}
-
-function initChart(seriesData, maxDepth) {
- var displayRoot = stratify();
-
- function stratify() {
- return d3.stratify()
- .parentId(function (d) {
- return d.id.substring(0, d.id.lastIndexOf('.'));
- })(
- seriesData
- )
- .sum(function (d) {
- return d.value || 0;
- })
- .sort(function (a, b) {
- return b.value - a.value;
- });
- }
-
- function overallLayout(params, api) {
- var context = params.context;
- d3.pack()
- .size([api.getWidth() - 2, api.getHeight() - 2])
- .padding(3)(displayRoot);
-
- context.nodes = {};
- displayRoot.descendants().forEach(function (node, index) {
- context.nodes[node.id] = node;
- });
- }
-
- function renderItem(params, api) {
- var context = params.context;
-
- // Only do that layout once in each time `setOption` called.
- if (!context.layout) {
- context.layout = true;
- overallLayout(params, api);
- }
-
- var nodePath = api.value('id');
- var node = context.nodes[nodePath];
-
- if (!node) {
- // Reder nothing.
- return;
- }
-
- var isLeaf = !node.children || !node.children.length;
-
- var focus = new Uint32Array(node.descendants().map(function (node) {
- return node.data.index;
- }));
-
- var nodeName = isLeaf
- ? nodePath.slice(nodePath.lastIndexOf('.') + 1).split(/(?=[A-Z][^A-Z])/g).join('\n')
- : '';
-
- var z2 = api.value('depth') * 2;
-
- return {
- type: 'circle',
- focus: focus,
- shape: {
- cx: node.x,
- cy: node.y,
- r: node.r
- },
- transition: ['shape'],
- z2: z2,
- textContent: {
- type: 'text',
- style: {
- // transition: isLeaf ? 'fontSize' : null,
- text: nodeName,
- fontFamily: 'Arial',
- width: node.r * 1.3,
- overflow: 'truncate',
- fontSize: node.r / 3
- },
- emphasis: {
- style: {
- overflow: null,
- fontSize: Math.max(node.r / 3, 12)
- }
- }
- },
- textConfig: {
- position: 'inside'
- },
- style: {
- fill: api.visual('color')
- },
- emphasis: {
- style: {
- fontFamily: 'Arial',
- fontSize: 12,
- shadowBlur: 20,
- shadowOffsetX: 3,
- shadowOffsetY: 5,
- shadowColor: 'rgba(0,0,0,0.3)'
- }
- }
- };
- }
-
- var option = {
- dataset: {
- source: seriesData
- },
- tooltip: {},
- visualMap: {
- show: false,
- min: 0,
- max: maxDepth,
- dimension: 'depth',
- inRange: {
- color: ['#006edd', '#e0ffff']
- }
- },
- hoverLayerThreshold: Infinity,
- series: {
- type: 'custom',
- renderItem: renderItem,
- progressive: 0,
- coordinateSystem: 'none',
- encode: {
- tooltip: 'value',
- itemName: 'id'
- }
- }
- };
-
- myChart.setOption(option);
-
- myChart.on('click', { seriesIndex: 0 }, function (params) {
- drillDown(params.data.id);
- });
-
- function drillDown(targetNodeId) {
- displayRoot = stratify();
- if (targetNodeId != null) {
- displayRoot = displayRoot.descendants().find(function (node) {
- return node.data.id === targetNodeId;
- });
- }
- // A trick to prevent d3-hierarchy from visiting parents in this algorithm.
- displayRoot.parent = null;
-
- myChart.setOption({
- dataset: {
- source: seriesData
- }
- });
- }
-
- // Reset: click on the blank area.
- myChart.getZr().on('click', function (event) {
- if (!event.target) {
- drillDown();
- }
- });
-}
diff --git a/public/data/confidence-band.js b/public/data/confidence-band.js
deleted file mode 100644
index 1cf5bb7..0000000
--- a/public/data/confidence-band.js
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
-title: Confidence Band
-category: line
-titleCN: Confidence Band
-difficulty: 4
-*/
-
-myChart.showLoading();
-$.get(ROOT_PATH + '/data/asset/data/confidence-band.json', function (data) {
- myChart.hideLoading();
-
- var base = -data.reduce(function (min, val) {
- return Math.floor(Math.min(min, val.l));
- }, Infinity);
- myChart.setOption(option = {
- title: {
- text: 'Confidence Band',
- subtext: 'Example in MetricsGraphics.js',
- left: 'center'
- },
- tooltip: {
- trigger: 'axis',
- axisPointer: {
- type: 'cross',
- animation: false,
- label: {
- backgroundColor: '#ccc',
- borderColor: '#aaa',
- borderWidth: 1,
- shadowBlur: 0,
- shadowOffsetX: 0,
- shadowOffsetY: 0,
-
- color: '#222'
- }
- },
- formatter: function (params) {
- return params[2].name + '<br />' + ((params[2].value - base) * 100).toFixed(1) + '%';
- }
- },
- grid: {
- left: '3%',
- right: '4%',
- bottom: '3%',
- containLabel: true
- },
- xAxis: {
- type: 'category',
- data: data.map(function (item) {
- return item.date;
- }),
- axisLabel: {
- formatter: function (value, idx) {
- var date = new Date(value);
- return idx === 0 ? value : [date.getMonth() + 1, date.getDate()].join('-');
- }
- },
- boundaryGap: false
- },
- yAxis: {
- axisLabel: {
- formatter: function (val) {
- return (val - base) * 100 + '%';
- }
- },
- axisPointer: {
- label: {
- formatter: function (params) {
- return ((params.value - base) * 100).toFixed(1) + '%';
- }
- }
- },
- splitNumber: 3
- },
- series: [{
- name: 'L',
- type: 'line',
- data: data.map(function (item) {
- return item.l + base;
- }),
- lineStyle: {
- opacity: 0
- },
- stack: 'confidence-band',
- symbol: 'none'
- }, {
- name: 'U',
- type: 'line',
- data: data.map(function (item) {
- return item.u - item.l;
- }),
- lineStyle: {
- opacity: 0
- },
- areaStyle: {
- color: '#ccc'
- },
- stack: 'confidence-band',
- symbol: 'none'
- }, {
- type: 'line',
- data: data.map(function (item) {
- return item.value + base;
- }),
- hoverAnimation: false,
- symbolSize: 6,
- itemStyle: {
- color: '#333'
- },
- showSymbol: false
- }]
- });
-});
diff --git a/public/data/covid-america.js b/public/data/covid-america.js
deleted file mode 100644
index 27d2049..0000000
--- a/public/data/covid-america.js
+++ /dev/null
@@ -1,404 +0,0 @@
-// https://www.makeapie.com/editor.html?c=x02yMqYpqC
-// 作品源于社区作者: 电***n
-
-// Do not prepared to expose.
-
-
-var _timelineDuration = 500;
-var _barDurationUpdate = 490;
-var _axisDurationUpdate = null;
-// var _timelineDuration = 5500;
-// var _barDurationUpdate = 5490;
-// var _axisDurationUpdate = 5000;
-
-$.get(ROOT_PATH + '/data/asset/geo/USA.json', function (usaJson) {
-
- echarts.registerMap('USA', usaJson, {
- 'Alaska': {
- left: -123,
- top: 20,
- width: 15
- },
- 'Hawaii': {
- left: -95,
- top: 20,
- width: 5
- },
- 'Puerto Rico': {
- left: -85,
- top: 22,
- width: 2
- }
- });
-
- run();
-
-});
-
-
-function run() {
-
- var days = ['1/22/20', '1/23/20', '1/24/20', '1/25/20', '1/26/20', '1/27/20', '1/28/20', '1/29/20', '1/30/20', '1/31/20', '2/1/20', '2/2/20', '2/3/20', '2/4/20', '2/5/20', '2/6/20', '2/7/20', '2/8/20', '2/9/20', '2/10/20', '2/11/20', '2/12/20', '2/13/20', '2/14/20', '2/15/20', '2/16/20', '2/17/20', '2/18/20', '2/19/20', '2/20/20', '2/21/20', '2/22/20', '2/23/20', '2/24/20', '2/25/20', '2/26/20', '2/27/20', '2/28/20', '2/29/20', '3/1/20', '3/2/20', '3/3/20', '3/4/20', '3/5/20', '3/6/2 [...]
-
- var _country = ['Alabama', 'Alaska', 'American Samoa', 'Arizona', 'Arkansas', 'California', 'Colorado', 'Connecticut', 'Delaware', 'Diamond Princess', 'District of Columbia', 'Florida', 'Georgia', 'Grand Princess', 'Guam', 'Hawaii', 'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana', 'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota', 'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire', 'New Jersey', 'New Mexico', 'New York', [...]
-
- var rawData = [
- [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 10, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 10, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 10, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 11, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 11, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
- [0, 0, 0, 1, 0, 12, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0],
- [0, 0, 0, 1, 0, 12, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0],
- [0, 0, 0, 1, 0, 21, 0, 0, 0, 45, 0, 1, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 3, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0],
- [0, 0, 0, 1, 0, 25, 0, 0, 0, 45, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 1, 0, 0, 0, 0, 3, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0],
- [0, 0, 0, 1, 0, 35, 0, 0, 0, 45, 0, 2, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 11, 1, 0, 0, 0, 0, 3, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0],
- [0, 0, 0, 1, 0, 51, 0, 0, 0, 45, 0, 3, 2, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 2, 2, 0, 23, 1, 0, 0, 0, 0, 3, 0, 0, 2, 0, 0, 1, 3, 0, 0, 0, 0, 70, 0, 0, 0],
- [0, 0, 0, 2, 0, 59, 3, 0, 0, 45, 0, 3, 3, 0, 0, 0, 0, 5, 1, 0, 0, 1, 0, 0, 3, 6, 0, 1, 0, 0, 0, 1, 2, 2, 2, 0, 31, 2, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 1, 4, 0, 0, 0, 0, 78, 0, 0, 0],
- [0, 0, 0, 4, 0, 81, 7, 0, 0, 45, 0, 7, 5, 21, 0, 1, 0, 6, 1, 0, 0, 1, 0, 0, 3, 6, 0, 1, 0, 0, 0, 1, 2, 2, 4, 0, 76, 2, 0, 0, 0, 1, 6, 2, 0, 3, 2, 0, 1, 8, 1, 0, 0, 0, 102, 0, 0, 0],
- [0, 0, 0, 4, 0, 95, 7, 0, 0, 45, 2, 10, 5, 21, 0, 1, 0, 7, 2, 0, 1, 1, 0, 0, 5, 22, 0, 1, 0, 1, 0, 1, 4, 4, 5, 0, 106, 2, 0, 0, 0, 1, 14, 6, 0, 3, 2, 0, 3, 11, 1, 1, 0, 2, 122, 0, 0, 0],
- [0, 0, 0, 4, 0, 101, 7, 0, 0, 45, 2, 13, 10, 21, 0, 1, 0, 7, 3, 3, 1, 4, 1, 0, 5, 22, 0, 2, 0, 1, 0, 3, 4, 4, 5, 0, 142, 2, 0, 0, 0, 1, 14, 7, 0, 3, 3, 0, 3, 13, 1, 1, 0, 2, 122, 0, 0, 0],
- [0, 0, 0, 6, 0, 144, 15, 2, 0, 46, 5, 15, 17, 21, 0, 2, 0, 12, 6, 8, 1, 6, 1, 0, 8, 92, 0, 3, 0, 1, 0, 3, 4, 4, 15, 0, 173, 7, 0, 0, 3, 2, 15, 12, 0, 3, 7, 0, 7, 13, 2, 1, 0, 7, 267, 0, 3, 0],
- [0, 0, 0, 9, 1, 177, 34, 3, 1, 46, 10, 28, 23, 21, 0, 2, 0, 25, 11, 13, 1, 8, 6, 0, 9, 95, 2, 5, 0, 1, 1, 5, 7, 5, 23, 3, 220, 7, 0, 0, 4, 2, 19, 16, 0, 5, 10, 8, 9, 21, 3, 1, 0, 9, 366, 0, 6, 0],
- [0, 0, 0, 9, 6, 221, 45, 5, 1, 46, 10, 35, 31, 21, 0, 2, 0, 32, 13, 16, 1, 10, 19, 0, 12, 108, 2, 9, 1, 1, 1, 10, 14, 6, 29, 5, 328, 15, 1, 0, 5, 2, 24, 22, 0, 5, 12, 8, 18, 27, 5, 2, 0, 17, 442, 0, 8, 1],
- [5, 1, 0, 9, 6, 282, 49, 11, 4, 46, 10, 50, 42, 21, 0, 2, 1, 46, 13, 17, 5, 14, 36, 1, 18, 123, 16, 14, 1, 2, 1, 13, 17, 6, 29, 10, 421, 17, 1, 0, 13, 2, 30, 41, 0, 14, 13, 8, 26, 43, 9, 2, 0, 30, 568, 0, 19, 1],
- [6, 1, 0, 12, 12, 340, 101, 22, 6, 46, 10, 76, 66, 21, 0, 4, 2, 64, 16, 17, 8, 14, 77, 3, 26, 138, 25, 21, 6, 4, 5, 14, 21, 7, 69, 10, 525, 24, 1, 0, 26, 4, 32, 47, 3, 20, 19, 9, 32, 57, 10, 5, 1, 41, 572, 0, 27, 2],
- [12, 1, 0, 13, 16, 426, 131, 24, 7, 46, 16, 115, 99, 21, 3, 6, 5, 93, 20, 18, 8, 20, 91, 12, 32, 164, 33, 35, 10, 5, 7, 17, 24, 13, 98, 13, 732, 33, 1, 0, 37, 7, 36, 66, 5, 20, 28, 9, 39, 72, 28, 8, 1, 45, 643, 0, 32, 3],
- [29, 1, 0, 18, 22, 557, 160, 30, 8, 47, 22, 155, 121, 20, 3, 7, 5, 105, 25, 23, 11, 21, 136, 17, 41, 197, 53, 54, 13, 6, 7, 18, 45, 17, 178, 17, 967, 38, 1, 0, 50, 10, 39, 77, 5, 21, 33, 10, 52, 85, 39, 12, 1, 49, 904, 0, 47, 3],
- [39, 3, 0, 20, 22, 698, 160, 68, 16, 47, 22, 216, 146, 21, 3, 10, 8, 161, 30, 23, 18, 26, 196, 32, 60, 218, 65, 60, 21, 11, 9, 21, 56, 26, 267, 23, 1706, 64, 3, 0, 67, 19, 66, 112, 5, 23, 47, 11, 74, 110, 51, 12, 2, 67, 1076, 1, 72, 11],
- [46, 6, 0, 27, 33, 751, 184, 68, 19, 47, 31, 314, 199, 21, 5, 14, 9, 162, 39, 29, 18, 27, 257, 42, 85, 218, 83, 77, 34, 18, 11, 24, 55, 26, 267, 23, 2495, 70, 6, 0, 86, 19, 68, 152, 5, 33, 47, 11, 79, 173, 51, 18, 2, 77, 1014, 1, 92, 15],
- [78, 9, 0, 45, 62, 952, 277, 159, 30, 47, 40, 417, 287, 22, 12, 16, 11, 422, 60, 44, 34, 37, 392, 52, 107, 328, 334, 89, 50, 31, 11, 29, 95, 44, 742, 35, 5365, 123, 18, 0, 119, 44, 88, 206, 5, 44, 81, 11, 154, 260, 80, 22, 3, 99, 1376, 2, 159, 18],
- [83, 12, 0, 78, 96, 1177, 363, 194, 38, 49, 71, 563, 420, 23, 14, 26, 23, 585, 86, 45, 44, 47, 538, 56, 149, 413, 552, 115, 80, 53, 15, 37, 114, 44, 890, 43, 8310, 172, 19, 0, 173, 49, 114, 303, 14, 54, 126, 14, 233, 394, 78, 29, 3, 122, 1524, 7, 207, 19],
- [131, 15, 0, 118, 122, 1364, 390, 194, 45, 49, 77, 659, 507, 23, 15, 37, 36, 753, 128, 68, 57, 87, 585, 70, 193, 525, 788, 138, 140, 74, 21, 38, 161, 55, 1327, 43, 11710, 253, 28, 0, 248, 53, 114, 396, 21, 66, 171, 14, 371, 581, 136, 29, 3, 156, 1793, 8, 282, 23],
- [157, 20, 0, 152, 165, 1646, 591, 327, 56, 49, 204, 1004, 621, 30, 27, 53, 42, 1049, 204, 90, 65, 103, 837, 89, 244, 646, 1035, 167, 207, 87, 34, 51, 190, 74, 1914, 57, 15800, 305, 28, 0, 356, 67, 161, 509, 23, 83, 196, 21, 505, 643, 162, 52, 6, 220, 1997, 16, 381, 26],
- [196, 30, 0, 235, 192, 2108, 704, 415, 68, 49, 120, 1227, 772, 28, 29, 56, 68, 1285, 270, 105, 84, 123, 1172, 107, 290, 777, 1329, 234, 249, 187, 34, 51, 245, 101, 2844, 83, 20884, 353, 30, 0, 443, 81, 191, 698, 31, 106, 298, 28, 614, 758, 257, 75, 7, 254, 2221, 16, 425, 26],
- [242, 34, 0, 326, 219, 2538, 723, 618, 104, 49, 141, 1412, 1026, 28, 32, 90, 81, 1537, 368, 124, 100, 162, 1388, 118, 349, 1159, 1793, 261, 320, 257, 51, 66, 278, 101, 3675, 100, 25681, 495, 36, 0, 567, 106, 210, 946, 39, 124, 342, 30, 772, 955, 298, 95, 17, 293, 2328, 22, 481, 29],
- [381, 41, 0, 401, 280, 2998, 1021, 875, 119, 49, 187, 1682, 1247, 28, 37, 91, 91, 1865, 477, 146, 134, 197, 1795, 142, 425, 1838, 2296, 286, 377, 354, 65, 71, 323, 108, 4402, 113, 30841, 590, 45, 0, 704, 164, 266, 1260, 51, 132, 424, 41, 916, 1229, 340, 125, 17, 396, 2591, 39, 621, 44],
- [517, 56, 0, 508, 335, 3899, 1430, 1012, 130, 49, 231, 2357, 1525, 28, 45, 95, 146, 2538, 645, 179, 172, 247, 2304, 155, 583, 2417, 2845, 344, 485, 520, 90, 74, 420, 137, 6876, 113, 37877, 738, 51, 0, 868, 248, 316, 1795, 64, 165, 424, 46, 1097, 1563, 396, 158, 17, 466, 3207, 52, 728, 53],
- [587, 58, 0, 665, 381, 4657, 1433, 1291, 163, 49, 271, 2900, 2000, 28, 51, 106, 205, 3024, 979, 235, 206, 301, 2744, 168, 775, 3240, 3634, 396, 579, 666, 109, 82, 536, 158, 8825, 136, 44876, 887, 68, 0, 1137, 322, 416, 2345, 79, 203, 542, 58, 1318, 1937, 472, 184, 19, 607, 3477, 76, 926, 70],
- [694, 85, 0, 773, 409, 5095, 1740, 1524, 214, 49, 304, 3763, 2366, 103, 55, 149, 234, 3491, 1233, 298, 266, 380, 3315, 211, 995, 4257, 4650, 441, 663, 836, 129, 96, 626, 187, 11124, 208, 52410, 1020, 94, 0, 1406, 377, 479, 2845, 100, 239, 660, 68, 1511, 2455, 602, 211, 22, 740, 4030, 96, 1055, 82],
- [825, 102, 0, 919, 426, 5852, 2307, 1993, 232, 49, 342, 4246, 2651, 103, 56, 149, 281, 4596, 1513, 336, 330, 438, 3540, 253, 1239, 4955, 5488, 503, 759, 915, 154, 108, 920, 214, 13386, 237, 59648, 1191, 98, 0, 1653, 429, 548, 3432, 127, 294, 774, 90, 1720, 2792, 720, 235, 23, 890, 4465, 113, 1164, 86],
- [899, 114, 0, 1157, 473, 7138, 2311, 2571, 264, 49, 401, 5473, 2808, 103, 58, 175, 340, 5056, 1786, 424, 372, 479, 4025, 275, 1413, 5752, 6498, 576, 847, 1051, 171, 145, 1012, 314, 16636, 237, 66663, 1313, 109, 0, 1933, 481, 606, 4155, 174, 408, 925, 101, 1917, 3147, 798, 256, 30, 1020, 4923, 145, 1230, 94],
- [987, 119, 0, 1289, 523, 8210, 2966, 3128, 319, 49, 495, 6741, 3929, 103, 69, 204, 515, 5994, 2158, 497, 434, 628, 5237, 303, 1660, 6620, 7615, 629, 937, 1357, 198, 172, 1114, 357, 18696, 315, 75833, 1535, 122, 2, 2199, 568, 690, 4963, 239, 488, 1083, 108, 2391, 3809, 888, 293, 30, 1249, 5432, 162, 1412, 109],
- [1060, 132, 0, 1530, 584, 9399, 2982, 3557, 368, 49, 586, 6956, 4638, 103, 77, 224, 566, 6980, 2564, 547, 485, 632, 6424, 303, 1986, 7738, 9315, 689, 1073, 1613, 208, 210, 1279, 367, 22255, 340, 83948, 1675, 142, 6, 2547, 721, 736, 6009, 286, 566, 1293, 129, 2933, 4355, 888, 321, 30, 1483, 5608, 191, 1556, 130],
- [1233, 143, 0, 1715, 643, 10773, 3342, 3824, 393, 49, 653, 9008, 5348, 103, 82, 256, 776, 7695, 3038, 614, 553, 770, 9149, 376, 2331, 8966, 10791, 742, 1177, 1857, 241, 246, 1463, 316, 25590, 388, 92506, 1977, 159, 6, 2901, 881, 826, 7268, 316, 645, 1554, 165, 3013, 5069, 1092, 338, 30, 1706, 6389, 216, 1748, 150],
- [1495, 157, 0, 1937, 704, 12004, 3742, 4914, 450, 49, 757, 10268, 5831, 103, 84, 319, 891, 8904, 3437, 699, 629, 770, 10297, 432, 2758, 10402, 12744, 788, 1358, 1864, 243, 279, 1514, 479, 29895, 534, 102987, 2251, 173, 8, 3312, 990, 899, 8570, 316, 711, 1700, 187, 3067, 5734, 1255, 389, 37, 2012, 6846, 237, 2012, 162],
- [1614, 171, 0, 2187, 743, 12837, 4188, 5276, 593, 49, 902, 11537, 6160, 103, 93, 351, 1022, 10357, 3953, 787, 698, 917, 12496, 456, 3125, 11736, 14225, 865, 1455, 2310, 265, 321, 1742, 540, 34124, 534, 113833, 2486, 186, 8, 3739, 1161, 899, 10444, 452, 806, 1917, 212, 3322, 6567, 1435, 461, 40, 2407, 7247, 282, 2030, 187],
- [1765, 185, 0, 2486, 837, 15034, 4950, 5675, 673, 49, 1002, 12350, 6647, 103, 112, 371, 1078, 11259, 4411, 869, 751, 955, 13010, 470, 3617, 12500, 15718, 935, 1638, 2347, 286, 364, 1855, 621, 37505, 670, 123160, 2649, 207, 8, 4043, 1254, 1068, 11589, 475, 922, 2049, 240, 3633, 7209, 1608, 512, 42, 2640, 7825, 324, 2320, 197],
- [1952, 190, 0, 2732, 875, 16019, 5183, 6906, 783, 49, 1097, 13324, 7314, 103, 113, 387, 1101, 12262, 4956, 946, 849, 955, 14867, 499, 4045, 13837, 17221, 986, 1738, 2736, 299, 417, 1953, 715, 41090, 757, 131815, 2962, 225, 8, 4453, 1329, 1068, 13127, 513, 1082, 2232, 288, 3802, 8043, 1685, 543, 43, 2878, 8311, 345, 2449, 210],
- [2169, 213, 0, 2870, 946, 17351, 5429, 7781, 928, 49, 1211, 14545, 8822, 103, 121, 410, 1170, 12271, 5510, 1046, 912, 1149, 16284, 519, 4371, 15202, 18970, 1069, 1915, 3130, 319, 447, 2124, 715, 44416, 876, 139875, 3299, 237, 8, 4782, 1474, 1132, 14853, 573, 1229, 2417, 320, 4139, 8925, 1746, 575, 43, 3335, 8692, 412, 2578, 216],
- [2328, 226, 0, 3036, 1000, 18897, 5655, 7781, 1116, 49, 1440, 15456, 9901, 103, 121, 410, 1210, 15078, 5943, 1145, 1046, 1149, 17030, 537, 5529, 16790, 20346, 1154, 2003, 3209, 332, 519, 2259, 747, 47437, 902, 151061, 3499, 251, 11, 5148, 1526, 1181, 16631, 620, 1450, 2417, 393, 4363, 9777, 1855, 605, 45, 3645, 9276, 483, 2710, 221],
- [2703, 235, 0, 3018, 1119, 19710, 5655, 9784, 1209, 49, 1523, 16364, 10566, 103, 128, 442, 1232, 15079, 6351, 1270, 1116, 1341, 18283, 560, 6185, 18941, 21504, 1240, 2260, 3432, 354, 568, 2456, 819, 51027, 865, 161779, 3736, 269, 11, 5512, 1686, 1321, 18300, 683, 1727, 2793, 447, 4634, 11208, 1856, 628, 45, 4042, 9639, 514, 2886, 230],
- [2947, 246, 0, 3112, 1171, 21081, 6202, 10538, 1326, 49, 1660, 17531, 11485, 103, 130, 442, 1354, 17887, 6907, 1388, 1117, 1693, 19253, 586, 6968, 20974, 22434, 1336, 2469, 3897, 365, 635, 2722, 819, 54588, 1081, 172348, 3965, 278, 11, 5878, 1794, 1322, 20051, 725, 1727, 3067, 536, 4891, 12105, 2103, 679, 50, 4509, 10119, 574, 3068, 239],
- [3217, 257, 0, 3393, 1228, 21706, 6513, 11510, 1479, 49, 1778, 18494, 12159, 103, 133, 465, 1396, 19180, 7435, 1510, 1275, 1693, 20014, 616, 7694, 22860, 23605, 1427, 2642, 4108, 377, 699, 2702, 885, 58151, 1091, 181026, 4354, 293, 11, 6250, 1868, 1371, 21719, 788, 2349, 3211, 626, 5132, 13023, 2207, 711, 51, 5077, 10434, 577, 3213, 261],
- [3563, 272, 0, 3542, 1280, 22795, 7307, 12035, 1625, 49, 1875, 19895, 12452, 103, 133, 499, 1407, 20852, 7928, 1587, 1344, 1963, 20595, 633, 8225, 25475, 24244, 1621, 2781, 4269, 387, 791, 2836, 929, 61850, 1245, 189033, 4570, 308, 11, 6604, 1970, 1527, 22938, 897, 2665, 3320, 730, 5508, 13677, 2303, 727, 51, 5274, 10609, 593, 3341, 270],
- [3734, 277, 0, 3705, 1410, 23931, 7691, 13381, 1758, 49, 1955, 21019, 13315, 103, 133, 504, 1426, 22025, 8359, 1710, 1390, 2018, 21016, 698, 8936, 26867, 25635, 1621, 2942, 4515, 394, 814, 2990, 985, 64584, 1262, 195749, 4886, 331, 11, 6975, 2069, 1584, 24292, 903, 2665, 3391, 868, 5610, 14275, 2363, 748, 51, 5747, 10635, 611, 3428, 275],
- [3953, 285, 0, 3809, 1498, 25356, 7950, 13989, 1926, 49, 2058, 21628, 14578, 103, 133, 511, 1464, 23248, 8527, 1899, 1441, 2048, 21518, 735, 9472, 28164, 27001, 1695, 3087, 4746, 399, 897, 3134, 922, 68824, 1345, 203020, 5113, 341, 11, 7285, 2184, 1633, 25465, 923, 3251, 3553, 988, 5827, 15006, 2417, 752, 51, 6182, 10799, 640, 3555, 282],
- [4075, 293, 0, 3964, 1569, 26686, 7956, 14755, 2014, 49, 2197, 22511, 14987, 103, 135, 524, 1473, 24593, 8960, 1995, 1504, 2210, 21951, 770, 10032, 29918, 28059, 1809, 3360, 4791, 404, 901, 3211, 1139, 71030, 1484, 214454, 5340, 365, 13, 7794, 2263, 1663, 26753, 974, 3251, 3656, 1168, 5827, 15907, 2548, 759, 51, 6500, 10942, 702, 3721, 287],
- [4345, 300, 0, 4237, 1620, 27677, 8286, 15884, 2070, 49, 2350, 23343, 15669, 103, 135, 530, 1587, 25734, 9542, 2141, 1615, 2435, 22532, 796, 10784, 32181, 28809, 1809, 3624, 5174, 415, 952, 3214, 1139, 75317, 1484, 223691, 5639, 393, 13, 8414, 2357, 1736, 28258, 1043, 3529, 3931, 1311, 6375, 16876, 2683, 774, 51, 6889, 11057, 728, 3875, 296],
- [4571, 309, 0, 4511, 1695, 29157, 8691, 16809, 2317, 49, 2476, 24759, 17194, 103, 136, 541, 1609, 27578, 10154, 2332, 1730, 2522, 23118, 827, 11572, 34402, 30023, 2070, 3793, 5371, 422, 1066, 3524, 1287, 78467, 1597, 230597, 6045, 393, 13, 9107, 2465, 1785, 29888, 1068, 4177, 4099, 1411, 6263, 17849, 2793, 779, 51, 7491, 11517, 775, 4053, 305],
- [4712, 314, 0, 4724, 1744, 30491, 9047, 17550, 2538, 49, 2666, 25492, 17669, 103, 136, 574, 1655, 29160, 10641, 2513, 1821, 2707, 23580, 847, 12326, 36372, 30791, 2209, 3974, 5579, 426, 1249, 3626, 1342, 81420, 1798, 241712, 6328, 528, 14, 10222, 2465, 1844, 31652, 1118, 4491, 4248, 1542, 6589, 18704, 2917, 803, 53, 8053, 11776, 785, 4199, 309],
- [4888, 319, 0, 4933, 1781, 31431, 9730, 17962, 2538, 49, 2793, 26314, 18301, 103, 136, 580, 1668, 30357, 11211, 2902, 1905, 2960, 23928, 867, 12847, 38077, 31424, 2356, 4274, 5743, 433, 1474, 3728, 1390, 85301, 1845, 247815, 6601, 585, 14, 11602, 2567, 1910, 32902, 1213, 4706, 4377, 1635, 7070, 19260, 3069, 813, 53, 8542, 12255, 890, 4346, 313],
- [5079, 321, 0, 5068, 1973, 33686, 9730, 19815, 2745, 49, 2927, 27059, 19407, 103, 136, 584, 1672, 31513, 11688, 3159, 2048, 3050, 24523, 875, 13684, 38077, 32000, 2470, 4512, 5890, 433, 1648, 3830, 1447, 88722, 1971, 253060, 6895, 627, 14, 12919, 2680, 1957, 33914, 1252, 5090, 4446, 1685, 7238, 19751, 3213, 816, 53, 8990, 12114, 902, 4499, 317],
- [5317, 329, 0, 5256, 1990, 35465, 10473, 20360, 2931, 49, 3098, 27869, 19881, 103, 136, 586, 1736, 33059, 12097, 3641, 2164, 3204, 24854, 888, 14193, 41199, 32667, 2567, 4716, 6066, 437, 1685, 3937, 1490, 92387, 1971, 258361, 7134, 644, 14, 13725, 2807, 2004, 35249, 1298, 5500, 4439, 1755, 7394, 20574, 3297, 818, 53, 9630, 12392, 908, 4625, 443],
- [5593, 335, 0, 5473, 2276, 37344, 10891, 22469, 3200, 49, 3206, 28309, 21214, 103, 136, 592, 1766, 35107, 12438, 3748, 2331, 3378, 25258, 907, 14775, 42944, 33966, 2722, 4894, 6277, 439, 1813, 4081, 1588, 95914, 2210, 263292, 7495, 679, 14, 14117, 2894, 2059, 36082, 1252, 5841, 4761, 1858, 7394, 21321, 3445, 823, 54, 10266, 12596, 939, 4845, 447],
- [5832, 337, 0, 5772, 2599, 39561, 11278, 23100, 3308, 49, 3361, 29648, 21883, 103, 139, 596, 1836, 36937, 13039, 3924, 2721, 3479, 25739, 937, 15737, 46023, 35296, 2942, 5153, 6506, 442, 2202, 4208, 1670, 100025, 2379, 263460, 7820, 709, 14, 14694, 3017, 2127, 38379, 1416, 6256, 4917, 1956, 8266, 22650, 3612, 825, 54, 10998, 12753, 981, 5052, 453],
- [6026, 339, 0, 6045, 2810, 41355, 12256, 23936, 3442, 49, 3528, 30533, 22491, 103, 141, 601, 1870, 39658, 13681, 4445, 2959, 3779, 26140, 965, 16616, 50969, 36641, 3185, 5434, 6788, 444, 2424, 4398, 1720, 102196, 2521, 271590, 8290, 748, 14, 15169, 3121, 2177, 40208, 1276, 6699, 5070, 2040, 8728, 23642, 3782, 827, 54, 11594, 12977, 1010, 5356, 473],
- [6026, 339, 0, 6286, 2911, 42368, 12968, 24583, 3576, 49, 3699, 30839, 23222, 103, 141, 605, 1887, 41777, 14399, 5092, 3135, 3915, 26512, 965, 17766, 53348, 37074, 3446, 5718, 6935, 445, 2719, 4539, 1797, 105498, 2660, 282143, 8768, 803, 14, 15587, 3194, 2253, 41153, 1307, 7129, 5253, 2147, 9189, 24153, 3948, 843, 55, 12366, 13319, 1010, 5687, 491],
- [6421, 340, 0, 6534, 3001, 43558, 13441, 25269, 4034, 49, 3841, 31532, 23486, 103, 141, 606, 1897, 43903, 15012, 5476, 3277, 4085, 26773, 1015, 18581, 54938, 37778, 3602, 5911, 7120, 448, 3028, 4734, 1864, 109038, 2726, 288045, 8997, 867, 14, 15972, 3254, 2311, 42616, 1371, 7439, 5498, 2212, 9667, 24967, 4123, 851, 57, 12970, 13521, 1055, 5912, 502],
- [6539, 345, 0, 6725, 3069, 44966, 13879, 25997, 4162, 49, 3892, 32138, 24302, 103, 141, 607, 1897, 45883, 15961, 5868, 3473, 4156, 27068, 1023, 19487, 56462, 38210, 3811, 6094, 7305, 449, 3358, 4700, 1938, 111188, 2825, 291996, 9428, 942, 14, 16325, 3281, 2354, 43558, 1389, 7708, 5613, 2244, 9918, 25321, 4236, 855, 57, 13538, 13686, 1063, 6081, 520],
- [6750, 351, 0, 6955, 3127, 46164, 14316, 26312, 4575, 49, 3994, 32848, 24922, 103, 141, 609, 1952, 48102, 16588, 6376, 3652, 4375, 27286, 1040, 20113, 58302, 39262, 4181, 6342, 7450, 451, 3517, 4821, 2010, 113856, 2974, 295106, 9755, 991, 14, 16769, 3410, 2385, 45137, 1400, 7927, 5735, 2313, 10052, 26357, 4345, 862, 57, 14339, 13842, 1095, 6289, 536],
- [6912, 355, 0, 7209, 3193, 48747, 14758, 26767, 4655, 49, 4106, 33193, 25775, 103, 141, 613, 1952, 50358, 17182, 6843, 3839, 4537, 27660, 1056, 20849, 60265, 40399, 4644, 6569, 7660, 451, 3851, 4934, 2058, 116365, 3213, 299691, 10180, 1033, 14, 17303, 3473, 2446, 46327, 1433, 8247, 5882, 2373, 10366, 27257, 4497, 862, 57, 14962, 14070, 1110, 6520, 545],
- [7088, 355, 0, 7655, 3281, 50130, 15284, 27700, 4734, 49, 4323, 33690, 26264, 103, 145, 618, 1984, 52918, 17835, 7145, 4413, 4708, 28001, 1095, 21742, 62205, 41379, 5136, 6815, 7818, 453, 4281, 5053, 2146, 118652, 3411, 304372, 10754, 1067, 14, 18027, 3618, 2510, 47971, 1539, 8621, 6095, 2449, 10735, 28727, 4672, 866, 66, 15847, 14327, 1125, 6854, 559],
- [7294, 364, 0, 7969, 3337, 52026, 15793, 28764, 4918, 49, 4658, 34728, 27489, 103, 145, 619, 2015, 56055, 18630, 7884, 4634, 4882, 28711, 1123, 23472, 64311, 42356, 5730, 7212, 8067, 453, 5008, 5248, 2310, 121190, 3513, 308314, 11070, 1107, 14, 18743, 3748, 2579, 49579, 1575, 8962, 6258, 2525, 11891, 29692, 4828, 879, 66, 16902, 14637, 1152, 7314, 566],
- [7611, 365, 0, 8364, 3372, 53347, 16225, 29287, 5038, 49, 4797, 35463, 28331, 103, 145, 620, 2061, 58505, 19295, 8643, 4885, 4879, 29140, 1153, 24473, 66263, 43207, 6232, 7441, 8356, 455, 5317, 5389, 2429, 123717, 3732, 312977, 11588, 1153, 14, 19335, 3851, 2635, 50494, 1757, 9289, 6489, 2588, 12661, 30917, 4985, 886, 66, 17738, 15003, 1185, 7660, 579],
- [7888, 368, 0, 8640, 3437, 54903, 16635, 29287, 5208, 49, 5016, 36078, 28665, 103, 145, 620, 2061, 61499, 19933, 9175, 5156, 5130, 29340, 1185, 25462, 68087, 43801, 6663, 7550, 8618, 455, 5661, 5472, 2518, 126744, 3850, 316415, 11770, 1191, 14, 19914, 3972, 2680, 51225, 1808, 9477, 6626, 2631, 13177, 31998, 5175, 897, 66, 18672, 15185, 1195, 7964, 586],
- [8112, 370, 0, 8924, 3491, 55884, 16918, 29973, 5288, 49, 5170, 36897, 29451, 103, 145, 621, 2106, 63777, 20507, 9703, 5383, 5245, 29673, 1205, 26408, 69087, 43990, 7234, 7877, 8946, 457, 6037, 5630, 2588, 128269, 4031, 318953, 11971, 1225, 14, 20474, 4044, 2759, 52816, 1843, 9652, 6757, 2668, 13571, 32783, 5317, 902, 66, 19493, 15462, 1224, 8236, 596],
- [8437, 371, 0, 9305, 3525, 58456, 17367, 30621, 5371, 49, 5322, 37439, 29998, 103, 145, 625, 2127, 65889, 21033, 10111, 5648, 5822, 29996, 1226, 27117, 70271, 44451, 7851, 8207, 9121, 456, 6373, 5660, 2636, 130593, 4138, 321192, 12510, 1266, 14, 20969, 4127, 2839, 53864, 1924, 9933, 6841, 2721, 13690, 33912, 5449, 907, 66, 20257, 15594, 1246, 8566, 604],
- [8691, 372, 0, 9707, 3611, 60616, 17832, 30995, 5778, 49, 5461, 38002, 30743, 103, 149, 626, 2158, 68232, 21870, 10404, 5993, 5934, 30399, 1254, 28163, 72025, 45179, 8579, 8424, 9323, 456, 6689, 5741, 2741, 131890, 4291, 323978, 13053, 1323, 15, 21576, 4202, 2916, 54800, 1968, 10205, 6936, 2780, 13938, 34928, 5595, 908, 66, 20257, 15905, 1242, 8901, 631],
- [9046, 374, 0, 9945, 3703, 62148, 18370, 31784, 5939, 49, 5654, 38828, 31618, 103, 149, 629, 2178, 70871, 22503, 11059, 6332, 6129, 30652, 1330, 29374, 73721, 45745, 9365, 8686, 9581, 456, 7334, 5855, 2843, 133991, 4493, 327469, 13540, 1371, 15, 22131, 4330, 2989, 55956, 2031, 10530, 7142, 2906, 14096, 36036, 5724, 916, 66, 21570, 16231, 1287, 9215, 635],
- [9385, 377, 0, 10526, 3747, 63779, 18827, 32411, 6111, 49, 5899, 39199, 32181, 103, 151, 629, 2178, 73760, 23146, 11457, 6667, 6288, 30855, 1374, 30485, 75333, 46386, 10088, 9090, 9733, 458, 7818, 5920, 2947, 135840, 4673, 330407, 14006, 1425, 15, 23016, 4424, 3068, 57371, 2156, 10779, 7367, 3145, 14441, 37246, 5919, 919, 68, 22342, 16388, 1323, 9590, 644],
- [9668, 378, 0, 10960, 3747, 66558, 19375, 32984, 6277, 49, 6102, 40001, 32588, 103, 151, 631, 2205, 76085, 23732, 11671, 6829, 6440, 31417, 1408, 31534, 76743, 46815, 10790, 9378, 9911, 458, 8093, 6171, 3011, 137397, 4778, 333122, 14478, 1464, 16, 23697, 4490, 3160, 58560, 2173, 10989, 7531, 3393, 14768, 38394, 6103, 921, 68, 23196, 16674, 1323, 9939, 653],
- [9889, 379, 0, 11119, 4012, 67600, 19703, 33554, 6277, 49, 6272, 40596, 33580, 103, 151, 632, 2230, 77741, 24126, 11959, 6951, 6440, 31600, 1436, 32587, 77793, 47182, 11271, 9501, 10068, 458, 8171, 6120, 3071, 138754, 4863, 335395, 14938, 1491, 16, 24081, 4589, 3228, 59939, 2198, 11274, 7653, 3517, 14985, 39258, 6251, 927, 69, 24081, 16891, 1360, 10219, 662],
- [10164, 379, 0, 11383, 4043, 69329, 19879, 33765, 6565, 49, 6389, 40982, 34002, 103, 151, 634, 2260, 79007, 24627, 12373, 7159, 6677, 31815, 1462, 33373, 78462, 47552, 11799, 9674, 10157, 459, 8407, 6152, 3160, 140206, 5069, 337055, 15274, 1518, 19, 24777, 4613, 3286, 60459, 2256, 11450, 7792, 3614, 15544, 40555, 6362, 926, 69, 25070, 17122, 1366, 10418, 669],
- [10464, 383, 0, 11736, 4164, 70978, 20157, 34333, 6741, 49, 6485, 41923, 34924, 103, 152, 635, 2293, 83021, 25127, 12912, 7240, 6853, 32050, 1477, 34061, 79332, 48021, 12494, 9908, 10269, 461, 8532, 6313, 3239, 140917, 5212, 338485, 15622, 1571, 19, 25250, 4732, 3358, 61310, 2299, 11614, 7927, 3663, 16111, 41432, 6432, 927, 69, 25800, 17330, 1378, 10611, 675],
- [10700, 383, 0, 12216, 4236, 72798, 20475, 34855, 6952, 49, 6584, 42402, 35427, 103, 152, 638, 2293, 84694, 25473, 13289, 7518, 6853, 32662, 1515, 34812, 80497, 48391, 12917, 10090, 10404, 462, 8912, 6476, 3299, 141560, 5364, 340661, 16352, 1647, 19, 25721, 4858, 3416, 62101, 2329, 11835, 8030, 3732, 16370, 43020, 6620, 929, 69, 26746, 17512, 1398, 10902, 688],
- [11101, 383, 0, 12674, 4366, 74871, 20838, 35464, 7223, 49, 6736, 43210, 35977, 103, 152, 637, 2351, 87937, 26053, 13675, 7705, 7225, 33489, 1565, 35903, 82182, 49582, 13435, 10483, 10594, 462, 9260, 6504, 3382, 142704, 5503, 343051, 16968, 1712, 19, 26357, 4963, 3479, 63105, 2427, 12016, 8189, 3792, 16699, 44480, 6749, 932, 69, 27813, 17773, 1427, 11275, 701],
- [11373, 388, 0, 13169, 4463, 76693, 21232, 36085, 7373, 49, 6871, 44138, 36772, 103, 154, 638, 2351, 90369, 26656, 14049, 7886, 7444, 33837, 1603, 36986, 83421, 50079, 14240, 10801, 10766, 466, 9610, 6733, 3453, 143984, 5662, 345813, 17494, 1761, 19, 26954, 5087, 3541, 64136, 2542, 12219, 8407, 3887, 16960, 45721, 6913, 933, 69, 28672, 17951, 1447, 11685, 716],
- [11674, 388, 0, 13666, 4578, 78725, 21633, 36703, 7547, 49, 7042, 44811, 37212, 103, 154, 639, 2419, 92457, 27280, 14328, 7939, 7688, 34117, 1648, 37968, 84933, 50538, 14969, 11123, 10959, 468, 10220, 6813, 3556, 145089, 5847, 348232, 18130, 1848, 21, 27474, 5237, 3612, 65185, 2589, 12434, 8661, 3959, 17263, 47452, 7068, 934, 69, 29683, 18288, 1470, 12187, 741],
- [11771, 388, 0, 13945, 4759, 80166, 21938, 37419, 7670, 49, 7123, 45588, 37579, 103, 154, 640, 2419, 94191, 27778, 14651, 7953, 7688, 34432, 1687, 38804, 86010, 51142, 15668, 11296, 11108, 468, 10177, 6949, 3596, 146504, 5938, 350121, 18673, 1900, 21, 27923, 5310, 3623, 65700, 2646, 12674, 8816, 3987, 17359, 48396, 7238, 940, 69, 30388, 18433, 1492, 12543, 754],
- [12086, 388, 0, 14208, 4813, 81457, 22202, 38116, 7869, 49, 7270, 46442, 38283, 103, 154, 640, 2455, 96485, 28255, 14955, 8303, 7935, 34709, 1713, 39762, 87052, 51915, 16372, 11432, 11242, 470, 10625, 7061, 3652, 148240, 6096, 351371, 19207, 1931, 21, 28454, 5398, 3687, 66669, 2710, 12795, 8942, 4027, 18011, 49177, 7384, 940, 69, 31140, 18611, 1502, 12687, 766],
- [12376, 400, 0, 14576, 4923, 83752, 22482, 38430, 8037, 49, 7434, 46944, 38855, 103, 154, 641, 2455, 98030, 28705, 15296, 8353, 8069, 35038, 1741, 41546, 87925, 52350, 17029, 11704, 11393, 471, 10854, 7096, 3721, 149356, 6192, 352845, 19239, 1994, 21, 28952, 5489, 3726, 67311, 2805, 12951, 9056, 4085, 18412, 50552, 7518, 944, 69, 32145, 18811, 1502, 12885, 776],
- [13052, 401, 0, 14906, 5003, 85997, 22797, 39017, 8194, 49, 7551, 47471, 39801, 103, 154, 643, 2506, 100418, 29274, 15620, 8507, 8167, 35316, 1819, 42323, 88970, 53009, 17670, 11967, 11528, 478, 11122, 7388, 3868, 150776, 6317, 354370, 20262, 2095, 21, 29436, 5532, 3801, 68126, 2866, 13356, 9175, 4177, 18412, 51673, 7710, 944, 69, 32908, 18971, 1567, 13413, 787],
- [13288, 401, 0, 15348, 5458, 88031, 23191, 39208, 8386, 49, 7788, 48675, 40663, 103, 165, 647, 2506, 102688, 29936, 16170, 8625, 8286, 36504, 1877, 43531, 90084, 53510, 18200, 12222, 11689, 479, 11427, 7400, 3935, 151586, 6472, 356458, 20512, 2229, 22, 30167, 5680, 3817, 69252, 2913, 13571, 9381, 4177, 18961, 53053, 7874, 950, 69, 34137, 19117, 1593, 13885, 801],
- [13670, 403, 0, 15624, 5612, 90252, 23487, 39640, 8529, 49, 7893, 49451, 41482, 103, 165, 642, 2595, 105444, 30409, 16492, 8909, 8426, 36925, 1948, 44424, 90889, 53913, 19005, 12625, 11836, 479, 11662, 7525, 4014, 152579, 6625, 358154, 22110, 2317, 22, 30794, 5849, 3864, 70211, 3030, 13736, 9638, 4356, 19394, 53539, 8057, 952, 69, 34950, 19265, 1705, 14396, 803],
- [14117, 407, 0, 16053, 5775, 92539, 23964, 40022, 8529, 49, 7966, 50127, 42242, 103, 165, 643, 2595, 107796, 30901, 16898, 8946, 8571, 36925, 2013, 45495, 91662, 54365, 19845, 13005, 11966, 479, 11963, 7526, 4089, 153140, 6625, 359926, 22864, 2365, 22, 31408, 5960, 3888, 71009, 3100, 13952, 9895, 4464, 19785, 54776, 8260, 954, 69, 35749, 19265, 1705, 14877, 813],
- [14478, 407, 0, 16377, 5922, 94020, 24174, 40468, 8809, 49, 8110, 50867, 42902, 103, 166, 643, 2626, 110304, 31376, 17251, 9004, 8571, 37169, 2055, 46313, 92675, 54679, 20573, 13260, 12149, 479, 12134, 7881, 4149, 154154, 6943, 361515, 23365, 2418, 22, 31911, 6037, 3927, 71563, 3189, 14065, 10096, 4563, 20111, 55861, 8392, 956, 69, 36244, 19828, 1759, 15277, 838],
- [14986, 408, 0, 16575, 6029, 96400, 24256, 40873, 8965, 49, 8225, 51746, 43400, 103, 166, 643, 2626, 112017, 31715, 17557, 9125, 8571, 37809, 2074, 47152, 93271, 54881, 21315, 13458, 12476, 479, 12362, 7956, 4197, 155092, 7026, 362764, 24057, 2457, 22, 32477, 6090, 3949, 71925, 3260, 14065, 10178, 4586, 20535, 56409, 8521, 962, 69, 37727, 20065, 1774, 15584, 843],
- [15650, 410, 0, 16864, 6180, 99387, 24552, 41303, 9066, 49, 8334, 52255, 43983, 103, 167, 643, 2626, 113195, 32078, 17703, 9199, 8951, 38054, 2109, 47687, 93693, 55104, 21960, 13731, 12579, 479, 12619, 8057, 4231, 155764, 7130, 363836, 24455, 2422, 22, 33006, 6138, 3967, 72778, 3324, 14210, 10416, 4653, 20895, 57230, 8620, 967, 69, 39342, 20181, 1774, 15863, 850],
- [16032, 411, 0, 17318, 6277, 101050, 24754, 41288, 9096, 49, 8406, 52634, 44638, 103, 170, 644, 2699, 114306, 32437, 18369, 9291, 9077, 38497, 2137, 48423, 94220, 55608, 22464, 14044, 12816, 481, 12984, 8150, 4286, 156628, 7252, 364965, 24916, 2439, 22, 33439, 6229, 4038, 73557, 3397, 14353, 10623, 4710, 21285, 58542, 8706, 971, 69, 40249, 20406, 1899, 16462, 860],
- [16530, 424, 0, 17877, 6538, 103813, 25107, 41559, 9171, 49, 8492, 53285, 45266, 103, 171, 647, 2770, 115833, 33068, 18586, 9371, 9185, 38802, 2189, 49709, 94895, 56014, 22947, 14372, 12981, 485, 13249, 8248, 4389, 157185, 7364, 366733, 25800, 2481, 22, 33915, 6273, 4086, 74220, 3486, 14494, 10788, 4793, 21679, 60395, 8921, 974, 69, 41401, 20764, 1935, 16974, 876],
- [17031, 429, 0, 18472, 6777, 106622, 25598, 41762, 9236, 49, 8538, 54497, 45881, 103, 172, 649, 2770, 117455, 33558, 18957, 9662, 9464, 38802, 2226, 50988, 95512, 56621, 23531, 14793, 13084, 493, 13648, 8376, 4492, 158844, 7493, 368284, 26885, 2520, 22, 34566, 6338, 4131, 74984, 3647, 14635, 11131, 4866, 22063, 60901, 9264, 975, 69, 42533, 21071, 1951, 17707, 891],
- [17359, 433, 0, 19258, 7013, 109895, 26084, 42022, 9422, 49, 8717, 55424, 46331, 103, 172, 651, 2803, 118917, 34211, 19244, 9690, 9704, 39577, 2282, 52015, 96301, 56969, 24190, 15229, 13298, 505, 13905, 8517, 4492, 159608, 7624, 369660, 27794, 2554, 22, 35033, 6418, 4185, 75697, 3718, 14819, 11394, 4960, 22566, 62675, 9533, 977, 69, 43611, 21349, 1989, 18230, 898],
- [17952, 459, 0, 19936, 7253, 111951, 26364, 42201, 9498, 49, 8801, 56163, 47063, 103, 172, 652, 2839, 120260, 34574, 19552, 9700, 9704, 39916, 2325, 52778, 96965, 57397, 24850, 15523, 13438, 515, 14101, 8628, 4651, 160445, 7689, 370770, 28785, 2577, 22, 35513, 6418, 4243, 76129, 3776, 14928, 11861, 4993, 22566, 64652, 9797, 981, 69, 44607, 21702, 2010, 18403, 903],
- [18630, 466, 0, 20129, 7443, 114733, 26563, 42740, 9605, 49, 8857, 56830, 47902, 103, 175, 652, 2839, 121234, 34830, 19699, 9920, 10046, 40341, 2349, 53327, 100805, 57532, 25208, 15752, 13724, 519, 14345, 8702, 4685, 160918, 7800, 371711, 29592, 2625, 22, 35984, 6573, 4302, 76646, 3873, 14991, 12148, 5034, 22566, 65593, 9999, 983, 70, 45398, 21977, 2028, 18543, 910],
- [18766, 486, 0, 21264, 7818, 117215, 26774, 42979, 9685, 49, 8886, 57447, 48207, 103, 175, 653, 2933, 122848, 35237, 20019, 9965, 10185, 40746, 2377, 54175, 101163, 57731, 25508, 16041, 14015, 523, 14616, 8858, 4749, 161545, 8024, 373040, 30023, 2646, 23, 36350, 6692, 4335, 77225, 3935, 15112, 12415, 5067, 24342, 67310, 10202, 988, 70, 46239, 22157, 2056, 18917, 912],
- [18851, 504, 0, 22356, 8067, 119348, 27046, 43091, 9712, 49, 9016, 58764, 48894, 103, 177, 653, 2933, 123830, 35712, 20300, 10092, 10410, 41133, 2418, 54982, 101592, 58035, 25870, 16322, 14189, 525, 14885, 8951, 4795, 162068, 8140, 374085, 31276, 2679, 24, 36792, 6805, 4399, 77780, 4023, 15219, 12415, 5162, 24833, 68877, 10497, 990, 70, 46905, 22484, 2077, 19400, 915],
- [19072, 512, 0, 22886, 8425, 122168, 27346, 43239, 9746, 49, 9120, 60183, 49859, 103, 179, 655, 2990, 124759, 36096, 20806, 10167, 10705, 41562, 2446, 55858, 102063, 58241, 26273, 16560, 14438, 539, 15139, 9129, 4876, 162530, 8353, 375133, 32075, 2706, 26, 37282, 6907, 4474, 78335, 4508, 15325, 12415, 5247, 25190, 70555, 10813, 1026, 71, 47856, 22729, 2102, 19892, 921],
- [19387, 523, 0, 24439, 8651, 125738, 27601, 43460, 9773, 49, 9199, 61488, 50621, 103, 179, 664, 3111, 125915, 36578, 21154, 10306, 10977, 41989, 2482, 56770, 102557, 63777, 26980, 16769, 14572, 541, 15406, 9309, 4953, 163336, 8672, 376208, 33295, 2745, 26, 37758, 7007, 4570, 78815, 4620, 15441, 13453, 5277, 25664, 72548, 11252, 1027, 71, 48532, 22993, 2119, 20249, 933],
- [20043, 535, 0, 25451, 9101, 128593, 27834, 43818, 9845, 49, 9269, 62758, 51359, 103, 179, 673, 3139, 126890, 36997, 21478, 10361, 11287, 42486, 2524, 57482, 103132, 64229, 27501, 17039, 14951, 540, 15572, 9491, 5019, 163893, 8800, 377316, 34718, 2816, 26, 38111, 7059, 4570, 79505, 4915, 15441, 13453, 5367, 26177, 74470, 11798, 1046, 71, 49397, 23442, 2136, 20571, 939],
- [20500, 543, 0, 26989, 9426, 130615, 27987, 43968, 9942, 49, 9332, 63938, 51898, 103, 179, 675, 3139, 127757, 37397, 21712, 10406, 11287, 42816, 2570, 57973, 103436, 64648, 27886, 17270, 15023, 545, 15664, 9669, 5043, 164164, 8940, 378097, 35625, 2861, 27, 38476, 7150, 4662, 79908, 4985, 15441, 14286, 5438, 26493, 75408, 12066, 1063, 71, 50679, 23729, 2144, 20835, 947],
- [20925, 562, 0, 27678, 9740, 133816, 28169, 44092, 9972, 49, 9389, 64904, 52497, 103, 179, 676, 3189, 128415, 37623, 22007, 10544, 11476, 43050, 2588, 58404, 103626, 64944, 28224, 17768, 15158, 548, 15786, 9816, 5079, 164497, 9062, 378799, 36517, 2880, 28, 38837, 7205, 4922, 80339, 5046, 15642, 14800, 5471, 27005, 76463, 12322, 1075, 71, 51251, 24041, 2161, 21038, 960],
- [21422, 572, 0, 28296, 10080, 136641, 28333, 44179, 10020, 49, 9474, 66000, 53249, 103, 180, 682, 3221, 129212, 38033, 22237, 10609, 11707, 43612, 2606, 58904, 103889, 64998, 28523, 18123, 15352, 554, 15918, 10045, 5079, 164796, 9105, 379482, 37227, 2901, 30, 39162, 7363, 4988, 80870, 5185, 15691, 15228, 5523, 27575, 78208, 12559, 1084, 71, 51738, 24354, 2169, 21308, 970],
- [21989, 592, 0, 29852, 10368, 139715, 28484, 44347, 10056, 49, 9537, 67371, 53980, 103, 180, 685, 3260, 129837, 38337, 22626, 10750, 11883, 44030, 2637, 59465, 104156, 65182, 28869, 18483, 15512, 561, 16058, 10218, 5178, 165346, 9250, 380156, 38473, 2941, 30, 39575, 7483, 5060, 81316, 5329, 15756, 15759, 5604, 27930, 80777, 12864, 1095, 72, 52177, 24354, 2194, 21593, 980],
- [22845, 609, 0, 31267, 10816, 143377, 28632, 44461, 10106, 49, 9589, 69069, 54973, 103, 183, 692, 3260, 130603, 38748, 22973, 10823, 11945, 44472, 2667, 60197, 104667, 65449, 29316, 18483, 15699, 563, 16315, 10473, 5209, 165816, 9367, 380892, 39584, 2980, 30, 40004, 7626, 5237, 81848, 5352, 15862, 16441, 5665, 28340, 82658, 13252, 1110, 72, 52647, 24779, 2217, 21926, 1009],
- [23710, 624, 0, 33039, 11547, 146659, 28807, 44689, 10173, 49, 9654, 70971, 55783, 103, 183, 706, 3353, 131198, 39146, 23350, 10973, 12166, 44995, 2721, 60613, 105059, 65672, 29795, 19091, 15997, 573, 16522, 10704, 5251, 166164, 9526, 381714, 41417, 3016, 30, 40424, 7849, 5377, 82481, 5536, 15947, 17170, 5742, 29118, 84927, 13577, 1119, 72, 53211, 25171, 2249, 22246, 1027],
- [24601, 653, 0, 34660, 12095, 150018, 29002, 44994, 10229, 49, 9709, 73552, 56804, 103, 183, 723, 3353, 131871, 39543, 23717, 11020, 12445, 46283, 2757, 61305, 105395, 65836, 30172, 19348, 16232, 588, 16640, 10997, 5299, 166605, 9621, 382630, 42845, 3058, 30, 40851, 8073, 5377, 82944, 5690, 15947, 17955, 5833, 29549, 86915, 13981, 1125, 72, 53869, 25538, 2274, 22518, 1050],
- [25615, 660, 0, 35706, 12501, 152300, 29115, 45088, 10264, 49, 9767, 75568, 57681, 103, 183, 728, 3399, 132543, 39909, 23926, 11101, 12445, 46619, 2793, 61701, 105603, 66054, 30471, 19516, 16262, 601, 16730, 11201, 5318, 166881, 9723, 383324, 44264, 3080, 30, 41148, 8231, 5377, 83203, 5811, 15947, 18795, 5898, 30343, 88523, 14313, 1127, 72, 54506, 25834, 2290, 22758, 1060],
- [26272, 663, 0, 36844, 12917, 155726, 29284, 45235, 10340, 49, 9799, 77326, 58414, 103, 185, 736, 3399, 133016, 40430, 24082, 11319, 12647, 47172, 2810, 62032, 105690, 66085, 30693, 19799, 16611, 609, 16851, 11315, 5345, 167103, 9845, 383944, 45114, 3101, 30, 41576, 8417, 5820, 83589, 5890, 16093, 19378, 5928, 31004, 90211, 14608, 1128, 72, 54886, 26158, 2322, 22932, 1079],
- [26912, 675, 0, 39185, 13191, 158961, 29427, 45349, 10403, 49, 9818, 80109, 59078, 103, 186, 736, 3462, 133639, 40786, 24179, 11411, 12647, 47706, 2819, 62409, 105885, 66269, 30882, 20152, 16857, 614, 17038, 11683, 5364, 167426, 9933, 384575, 45907, 3124, 30, 42010, 8645, 6098, 83978, 5951, 16164, 19990, 5966, 31751, 93569, 14937, 1131, 72, 55331, 26531, 2341, 23198, 1089],
- [27312, 695, 0, 40937, 13606, 162798, 29656, 45429, 10444, 49, 9847, 82719, 60030, 103, 188, 744, 3632, 134185, 41013, 24460, 11644, 12995, 48634, 2836, 62969, 106151, 66497, 31296, 20641, 17069, 630, 17231, 11854, 5436, 167703, 10065, 385142, 46934, 3166, 30, 42422, 8904, 6218, 84289, 6003, 16213, 20556, 6050, 32114, 97699, 15344, 1130, 73, 55775, 26784, 2376, 23456, 1114]
- ];
-
- var option = {
- baseOption: {
- timeline: {
- axisType: 'category',
- // realtime: false,
- // loop: false,
- autoPlay: true,
- playInterval: _timelineDuration,
- symbolSize: 1,
- left: '5%',
- right: '5%',
- bottom: '0%',
- width: '90%',
- controlStyle: {
- show: false
- },
- data: days,
- tooltip: {
- formatter: days
- }
- },
-
- tooltip: {
- show: true,
- formatter: function(params) {
- return params.name + ':' + params.value
- },
- },
- visualMap: {
- type: 'piecewise',
- pieces: [{
- min: 100001,
- color: '#BB0000'
- }, {
- min: 50001,
- max: 100000,
- color: '#C62B2B'
- }, {
- min: 25001,
- max: 50000,
- color: '#D25555'
- }, {
- min: 1001,
- max: 25000,
- color: '#DD8080'
- }, {
- min: 11,
- max: 1000,
- color: '#E8AAAA'
- }, {
- min: 1,
- max: 10,
- color: '#F4D5D5'
- }, {
- value: 0,
- color: '#eee'
- }],
- orient: 'vertical',
- itemWidth: 25,
- itemHeight: 15,
- showLabel: true,
- seriesIndex: [0, 1],
- textStyle: {
- color: '#999'
- },
- bottom: '10%',
- left: '5%',
- },
- grid: {
- right: '5%',
- top: '17%',
- bottom: '10%',
- width: '32%'
- },
- xAxis: {
- show: false
- },
- yAxis: [{
- inverse: true,
- type: 'category',
- max: 9,
- nameTextStyle: {
- color: '#fff'
- },
- animationDurationUpdate: _axisDurationUpdate,
- axisTick: {
- show: false,
- },
- axisLabel: {
- textStyle: {
- fontSize: 14,
- color: '#000000',
- },
- interval: 0
- },
- axisLine: {
- show: false,
- lineStyle: {
- color: '#333'
- },
- },
- splitLine: {
- show: false,
- lineStyle: {
- color: '#333'
- }
- },
- }],
- geo: {
- map: 'USA',
- top: '28%',
- right: '50%',
- left: '5%',
- emphasis: {
- show: false,
- itemStyle: {
- areaColor: '#90EE90'
- }
- }
- },
- series: [{
- type: 'map',
- map: 'USA',
- roam: false,
- geoIndex: 0,
- datasetIndex: 0,
- label: {
- show: false,
- },
- }, {
- type: 'bar',
- realtimeSort: true,
- barWidth: '40%',
- datasetIndex: 0,
- animationDurationUpdate: _barDurationUpdate,
- animationEasingUpdate: 'linear',
- label: {
- valueAnimation: true,
- show: true,
- fontSize: 14,
- position: 'right',
- formatter: '{@[1]}'
- },
- }],
-
- },
- animationDurationUpdate: 3000,
- animationEasingUpdate: 'quinticInOut',
- options: []
- };
-
- for (var n = 0; n < days.length; n++) {
-
- var res = [];
- for (var j = 0; j < rawData[n].length; j++) {
- res.push([
- _country[j],
- rawData[n][j]
- ]);
- }
-
- option.options.push({
- dataset: {
- source: res
- },
- title: [{
- text: '美国疫情地图',
- textStyle: {
- color: '#2D3E53',
- fontSize: 28
- },
- // https://www.makeapie.com/editor.html?c=x02yMqYpqC
- subtext: '作品源于社区作者: 电***n',
- subtextStyle: {
- color: '#aaa',
- fontSize: 16
- },
- left: 20,
- top: 20,
- }, {
- show: true,
- text: '感染人数前十地区',
- textStyle: {
- color: '#2D3E53',
- fontSize: 18
- },
- right: '20%',
- top: '13%'
- }],
- series: [{
- type: 'map',
- datasetIndex: 0,
- encode: {
- itemName: 0,
- value: 1
- }
- }, {
- type: 'bar',
- datasetIndex: 0,
- encode: {
- x: 1,
- y: 0
- }
- }]
- });
- }
-
- myChart.setOption(option);
-}
diff --git a/public/data/custom-bar-trend.js b/public/data/custom-bar-trend.js
deleted file mode 100644
index 11b6d75..0000000
--- a/public/data/custom-bar-trend.js
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
-title: Custom Bar Trend
-category: custom
-titleCN: 使用自定义系列添加柱状图趋势
-difficulty: 3
-*/
-
-
-var yearCount = 7;
-var categoryCount = 30;
-
-var xAxisData = [];
-var customData = [];
-var legendData = [];
-var dataList = [];
-
-legendData.push('trend');
-var encodeY = [];
-for (var i = 0; i < yearCount; i++) {
- legendData.push((2010 + i) + '');
- dataList.push([]);
- encodeY.push(1 + i);
-}
-
-for (var i = 0; i < categoryCount; i++) {
- var val = Math.random() * 1000;
- xAxisData.push('category' + i);
- var customVal = [i];
- customData.push(customVal);
-
- for (var j = 0; j < dataList.length; j++) {
- var value = j === 0
- ? echarts.number.round(val, 2)
- : echarts.number.round(Math.max(0, dataList[j - 1][i] + (Math.random() - 0.5) * 200), 2);
- dataList[j].push(value);
- customVal.push(value);
- }
-}
-
-function renderItem(params, api) {
- var xValue = api.value(0);
- var currentSeriesIndices = api.currentSeriesIndices();
- var barLayout = api.barLayout({
- barGap: '30%', barCategoryGap: '20%', count: currentSeriesIndices.length - 1
- });
-
- var points = [];
- for (var i = 0; i < currentSeriesIndices.length; i++) {
- var seriesIndex = currentSeriesIndices[i];
- if (seriesIndex !== params.seriesIndex) {
- var point = api.coord([xValue, api.value(seriesIndex)]);
- point[0] += barLayout[i - 1].offsetCenter;
- point[1] -= 20;
- points.push(point);
- }
- }
- var style = api.style({
- stroke: api.visual('color'),
- fill: null
- });
-
- return {
- type: 'polyline',
- shape: {
- points: points
- },
- style: style
- };
-}
-
-option = {
- tooltip: {
- trigger: 'axis'
- },
- legend: {
- data: legendData
- },
- dataZoom: [{
- type: 'slider',
- start: 50,
- end: 70
- }, {
- type: 'inside',
- start: 50,
- end: 70
- }],
- xAxis: {
- data: xAxisData
- },
- yAxis: {},
- series: [{
- type: 'custom',
- name: 'trend',
- renderItem: renderItem,
- itemStyle: {
- borderWidth: 2
- },
- encode: {
- x: 0,
- y: encodeY
- },
- data: customData,
- z: 100
- }].concat(dataList.map(function (data, index) {
- return {
- type: 'bar',
- animation: false,
- name: legendData[index + 1],
- itemStyle: {
- opacity: 0.5
- },
- data: data
- };
- }))
-};
\ No newline at end of file
diff --git a/public/data/custom-calendar-icon.js b/public/data/custom-calendar-icon.js
deleted file mode 100644
index 0841e44..0000000
--- a/public/data/custom-calendar-icon.js
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
-title: Custom Calendar Icon
-category: 'custom, calendar'
-titleCN: 日历图自定义图标
-difficulty: 7
-*/
-
-
-var layouts = [
- [[0, 0]],
- [[-0.25, 0], [0.25, 0]],
- [[0, -0.2], [-0.2, 0.2], [0.2, 0.2]],
- [[-0.25, -0.25], [-0.25, 0.25], [0.25, -0.25], [0.25, 0.25]]
-];
-var pathes = [
- 'M936.857805 523.431322c0 0-42.065715-68.89513-88.786739-68.89513-46.68416 0-95.732122 71.223091-95.732122 71.223091s-44.28544-72.503296-93.440922-71.152538c-35.565466 0.977306-62.89705 30.882406-79.124275 64.06615L579.773747 790.800797c-3.253248 37.391565-5.677568 50.904371-12.002816 69.63497-6.651802 19.698688-19.544883 35.227341-31.650099 45.909606-14.30231 12.621414-29.59831 22.066586-45.854208 27.424563-16.28969 5.362074-30.098739 6.496973-51.536794 6.496973-19.498906 0-36.95104 [...]
- 'M533.504 268.288q33.792-41.984 71.68-75.776 32.768-27.648 74.24-50.176t86.528-19.456q63.488 5.12 105.984 30.208t67.584 63.488 34.304 87.04 6.144 99.84-17.92 97.792-36.864 87.04-48.64 74.752-53.248 61.952q-40.96 41.984-85.504 78.336t-84.992 62.464-73.728 41.472-51.712 15.36q-20.48 1.024-52.224-14.336t-69.632-41.472-79.872-61.952-82.944-75.776q-26.624-25.6-57.344-59.392t-57.856-74.24-46.592-87.552-21.504-100.352 11.264-99.84 39.936-83.456 65.536-61.952 88.064-35.328q24.576-5.12 49.152 [...]
- 'M741.06368 733.310464c8.075264-29.262438 20.615373-40.632422 14.64105-162.810061C966.089728 361.789952 967.93897 72.37847 967.855002 54.693683c0.279347-0.279347 0.418509-0.419533 0.418509-0.419533s-0.17705-0.00512-0.428749-0.00512c0-0.251699 0-0.428749 0-0.428749s-0.139162 0.14633-0.418509 0.425677c-17.695744-0.083866-307.10784 1.760051-515.833958 212.142592-122.181632-5.984256-133.55305 6.563533-162.815693 14.644531C235.35063 295.798886 103.552614 436.975309 90.630758 486.076621c-1 [...]
- 'M848.794624 939.156685 571.780416 939.156685 571.780416 653.17123l341.897539 0 0 221.100654C913.677926 909.960704 884.482867 939.156685 848.794624 939.156685zM571.780403 318.743552c-11.861606-3.210138-31.443354-8.36864-39.829709-16.176435-0.596582-0.561766-1.016218-1.246413-1.613824-1.841971-0.560845 0.596582-1.016218 1.280205-1.613824 1.841971-8.386355 7.807795-15.96631 12.965274-27.827917 16.176435l0 263.544325L141.030675 582.287877 141.030675 355.202884c0-35.687834 29.195059-64.8 [...]
-];
-var colors = [
- '#c4332b', '#16B644', '#6862FD', '#FDC763'
-];
-
-function getVirtulData(year) {
- year = year || '2017';
- var date = +echarts.number.parseDate(year + '-01-01');
- var end = +echarts.number.parseDate((+year + 1) + '-01-01');
- var dayTime = 3600 * 24 * 1000;
- var data = [];
- for (var time = date; time < end; time += dayTime) {
- var items = [];
- var eventCount = Math.round(Math.random() * pathes.length);
- for (var i = 0; i < eventCount; i++) {
- items.push(Math.round(Math.random() * (pathes.length - 1)));
- }
- data.push([
- echarts.format.formatTime('yyyy-MM-dd', time),
- items.join('|')
- ]);
- }
- return data;
-}
-
-function renderItem(params, api) {
- var cellPoint = api.coord(api.value(0));
- var cellWidth = params.coordSys.cellWidth;
- var cellHeight = params.coordSys.cellHeight;
-
- var value = api.value(1);
- var events = value && value.split('|');
-
- if (isNaN(cellPoint[0]) || isNaN(cellPoint[1])) {
- return;
- }
-
- var group = {
- type: 'group',
- children: (layouts[events.length - 1] || []).map(function (itemLayout, index) {
- return {
- type: 'path',
- shape: {
- pathData: pathes[events[index]],
- x: -8,
- y: -8,
- width: 16,
- height: 16
- },
- position: [
- cellPoint[0] + echarts.number.linearMap(itemLayout[0], [-0.5, 0.5], [-cellWidth / 2, cellWidth / 2]),
- cellPoint[1] + echarts.number.linearMap(itemLayout[1], [-0.5, 0.5], [-cellHeight / 2 + 20, cellHeight / 2])
- ],
- style: api.style({
- fill: colors[events[index]]
- })
- };
- }) || []
- };
-
- group.children.push({
- type: 'text',
- style: {
- x: cellPoint[0],
- y: cellPoint[1] - cellHeight / 2 + 15,
- text: echarts.format.formatTime('dd', api.value(0)),
- fill: '#777',
- textFont: api.font({fontSize: 14})
- }
- });
-
- return group;
-}
-
-option = {
- tooltip: {
- },
- calendar: [{
- left: 'center',
- top: 'middle',
- cellSize: [70, 70],
- yearLabel: {show: false},
- orient: 'vertical',
- dayLabel: {
- firstDay: 1,
- nameMap: 'cn'
- },
- monthLabel: {
- show: false
- },
- range: '2017-03'
- }],
- series: [{
- type: 'custom',
- coordinateSystem: 'calendar',
- renderItem: renderItem,
- dimensions: [null, {type: 'ordinal'}],
- data: getVirtulData(2017)
- }]
-};
diff --git a/public/data/data-transform-filter.js b/public/data/data-transform-filter.js
deleted file mode 100644
index 219a99f..0000000
--- a/public/data/data-transform-filter.js
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
-title: Data Transform Fitler
-category: line
-titleCN: 数据过滤
-difficulty: 3
-*/
-
-$.get(ROOT_PATH + '/data/asset/data/life-expectancy-table.json', function (_rawData) {
- run(_rawData);
-});
-
-function run(_rawData) {
-
- option = {
- dataset: [{
- id: 'dataset_raw',
- source: _rawData
- }, {
- id: 'dataset_since_1950_of_germany',
- fromDatasetId: 'dataset_raw',
- transform: {
- type: 'filter',
- config: {
- and: [
- { dimension: 'Year', gte: 1950 },
- { dimension: 'Country', '=': 'Germany' }
- ]
- }
- }
- }, {
- id: 'dataset_since_1950_of_france',
- fromDatasetId: 'dataset_raw',
- transform: {
- type: 'filter',
- config: {
- and: [
- { dimension: 'Year', gte: 1950 },
- { dimension: 'Country', '=': 'France' }
- ]
- }
- }
- }],
- title: {
- text: 'Income of Germany and France since 1950'
- },
- tooltip: {
- trigger: 'axis'
- },
- xAxis: {
- type: 'category',
- nameLocation: 'middle'
- },
- yAxis: {
- name: 'Income'
- },
- series: [{
- type: 'line',
- datasetId: 'dataset_since_1950_of_germany',
- showSymbol: false,
- encode: {
- x: 'Year',
- y: 'Income',
- itemName: 'Year',
- tooltip: ['Income'],
- }
- }, {
- type: 'line',
- datasetId: 'dataset_since_1950_of_france',
- showSymbol: false,
- encode: {
- x: 'Year',
- y: 'Income',
- itemName: 'Year',
- tooltip: ['Income'],
- }
- }]
- };
-
- myChart.setOption(option);
-
-}
diff --git a/public/data/data-transform-multiple-pie.js b/public/data/data-transform-multiple-pie.js
deleted file mode 100644
index bcf3630..0000000
--- a/public/data/data-transform-multiple-pie.js
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
-title: Partition Data to Pies
-category: dataset, pie, transform
-titleCN: 分割数据到数个饼图
-difficulty: 3
-*/
-
-option = {
- dataset: [{
- source: [
- ['Product', 'Sales', 'Price', 'Year'],
- ['Cake', 123, 32, 2011],
- ['Cereal', 231, 14, 2011],
- ['Tofu', 235, 5, 2011],
- ['Dumpling', 341, 25, 2011],
- ['Biscuit', 122, 29, 2011],
- ['Cake', 143, 30, 2012],
- ['Cereal', 201, 19, 2012],
- ['Tofu', 255, 7, 2012],
- ['Dumpling', 241, 27, 2012],
- ['Biscuit', 102, 34, 2012],
- ['Cake', 153, 28, 2013],
- ['Cereal', 181, 21, 2013],
- ['Tofu', 395, 4, 2013],
- ['Dumpling', 281, 31, 2013],
- ['Biscuit', 92, 39, 2013],
- ['Cake', 223, 29, 2014],
- ['Cereal', 211, 17, 2014],
- ['Tofu', 345, 3, 2014],
- ['Dumpling', 211, 35, 2014],
- ['Biscuit', 72, 24, 2014],
- ],
- }, {
- transform: {
- type: 'filter',
- config: { dimension: 'Year', value: 2011 }
- },
- }, {
- transform: {
- type: 'filter',
- config: { dimension: 'Year', value: 2012 }
- }
- }, {
- transform: {
- type: 'filter',
- config: { dimension: 'Year', value: 2013 }
- }
- }],
- series: [{
- type: 'pie', radius: 50, center: ['50%', '25%'],
- datasetIndex: 1
- }, {
- type: 'pie', radius: 50, center: ['50%', '50%'],
- datasetIndex: 2
- }, {
- type: 'pie', radius: 50, center: ['50%', '75%'],
- datasetIndex: 3
- }],
-
-
- // Optional. Only for responsive layout:
- media: [{
- query: { minAspectRatio: 1 },
- option: {
- series: [
- { center: ['25%', '50%'] },
- { center: ['50%', '50%'] },
- { center: ['75%', '50%'] }
- ]
- }
- }, {
- option: {
- series: [
- { center: ['50%', '25%'] },
- { center: ['50%', '50%'] },
- { center: ['50%', '75%'] }
- ]
- }
- }]
-};
diff --git a/public/data/data-transform-sort-bar.js b/public/data/data-transform-sort-bar.js
deleted file mode 100644
index b62ffee..0000000
--- a/public/data/data-transform-sort-bar.js
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
-title: Sort Data in Bar Chart
-category: dataset, bar, transform
-titleCN: 柱状图排序
-difficulty: 0
-*/
-
-option = {
- dataset: [{
- dimensions: ['name', 'age', 'profession', 'score', 'date'],
- source: [
- [' Hannah Krause ', 41, 'Engineer', 314, '2011-02-12'],
- ['Zhao Qian ', 20, 'Teacher', 351, '2011-03-01'],
- [' Jasmin Krause ', 52, 'Musician', 287, '2011-02-14'],
- ['Li Lei', 37, 'Teacher', 219, '2011-02-18'],
- [' Karle Neumann ', 25, 'Engineer', 253, '2011-04-02'],
- [' Adrian Groß', 19, 'Teacher', null, '2011-01-16'],
- ['Mia Neumann', 71, 'Engineer', 165, '2011-03-19'],
- [' Böhm Fuchs', 36, 'Musician', 318, '2011-02-24'],
- ['Han Meimei ', 67, 'Engineer', 366, '2011-03-12'],
- ]
- }, {
- transform: {
- type: 'sort',
- config: { dimension: 'score', order: 'desc' }
- }
- }],
- xAxis: {
- type: 'category',
- axisLabel: { interval: 0, rotate: 30 },
- },
- yAxis: {},
- series: {
- type: 'bar',
- encode: { x: 'name', y: 'score' },
- datasetIndex: 1
- }
-};
diff --git a/public/data/dataset-default.js b/public/data/dataset-default.js
deleted file mode 100644
index 054c50e..0000000
--- a/public/data/dataset-default.js
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
-title: Default arrangement
-category: 'dataset, pie'
-titleCN: 默认 encode 设置
-difficulty: 3
-*/
-
-var option = {
- legend: {},
- tooltip: {},
- dataset: {
- source: [
- ['product', '2012', '2013', '2014', '2015', '2016', '2017'],
- ['Milk Tea', 86.5, 92.1, 85.7, 83.1, 73.4, 55.1],
- ['Matcha Latte', 41.1, 30.4, 65.1, 53.3, 83.8, 98.7],
- ['Cheese Cocoa', 24.1, 67.2, 79.5, 86.4, 65.2, 82.5],
- ['Walnut Brownie', 55.2, 67.1, 69.2, 72.4, 53.9, 39.1]
- ]
- },
- series: [{
- type: 'pie',
- radius: '20%',
- center: ['25%', '30%']
- // No encode specified, by default, it is '2012'.
- }, {
- type: 'pie',
- radius: '20%',
- center: ['75%', '30%'],
- encode: {
- itemName: 'product',
- value: '2013'
- }
- }, {
- type: 'pie',
- radius: '20%',
- center: ['25%', '75%'],
- encode: {
- itemName: 'product',
- value: '2014'
- }
- }, {
- type: 'pie',
- radius: '20%',
- center: ['75%', '75%'],
- encode: {
- itemName: 'product',
- value: '2015'
- }
- }]
-};
\ No newline at end of file
diff --git a/public/data/dataset-encode0.js b/public/data/dataset-encode0.js
deleted file mode 100644
index 4bf8921..0000000
--- a/public/data/dataset-encode0.js
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
-title: Simple Encode
-category: 'dataset, bar'
-titleCN: 指定数据到坐标轴的映射
-difficulty: 1
-*/
-
-option = {
- dataset: {
- source: [
- ['score', 'amount', 'product'],
- [89.3, 58212, 'Matcha Latte'],
- [57.1, 78254, 'Milk Tea'],
- [74.4, 41032, 'Cheese Cocoa'],
- [50.1, 12755, 'Cheese Brownie'],
- [89.7, 20145, 'Matcha Cocoa'],
- [68.1, 79146, 'Tea'],
- [19.6, 91852, 'Orange Juice'],
- [10.6, 101852, 'Lemon Juice'],
- [32.7, 20112, 'Walnut Brownie']
- ]
- },
- grid: {containLabel: true},
- xAxis: {name: 'amount'},
- yAxis: {type: 'category'},
- visualMap: {
- orient: 'horizontal',
- left: 'center',
- min: 10,
- max: 100,
- text: ['High Score', 'Low Score'],
- // Map the score column to color
- dimension: 0,
- inRange: {
- color: ['#65B581', '#FFCE34', '#FD665F']
- }
- },
- series: [
- {
- type: 'bar',
- encode: {
- // Map the "amount" column to X axis.
- x: 'amount',
- // Map the "product" column to Y axis
- y: 'product'
- }
- }
- ]
-};
diff --git a/public/data/dataset-encode1.js b/public/data/dataset-encode1.js
deleted file mode 100644
index 483f771..0000000
--- a/public/data/dataset-encode1.js
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
-title: Encode and Matrix
-category: dataset
-titleCN: 指定数据到坐标轴的映射
-difficulty: 3
-*/
-
-$.get(ROOT_PATH + '/data/asset/data/life-expectancy-table.json', function (data) {
-
- var sizeValue = '57%';
- var symbolSize = 2.5;
- option = {
- legend: {},
- tooltip: {},
- toolbox: {
- left: 'center',
- feature: {
- dataZoom: {}
- }
- },
- grid: [
- {right: sizeValue, bottom: sizeValue},
- {left: sizeValue, bottom: sizeValue},
- {right: sizeValue, top: sizeValue},
- {left: sizeValue, top: sizeValue}
- ],
- xAxis: [
- {type: 'value', gridIndex: 0, name: 'Income', axisLabel: {rotate: 50, interval: 0}},
- {type: 'category', gridIndex: 1, name: 'Country', boundaryGap: false, axisLabel: {rotate: 50, interval: 0}},
- {type: 'value', gridIndex: 2, name: 'Income', axisLabel: {rotate: 50, interval: 0}},
- {type: 'value', gridIndex: 3, name: 'Life Expectancy', axisLabel: {rotate: 50, interval: 0}}
- ],
- yAxis: [
- {type: 'value', gridIndex: 0, name: 'Life Expectancy'},
- {type: 'value', gridIndex: 1, name: 'Income'},
- {type: 'value', gridIndex: 2, name: 'Population'},
- {type: 'value', gridIndex: 3, name: 'Population'}
- ],
- dataset: {
- dimensions: [
- 'Income',
- 'Life Expectancy',
- 'Population',
- 'Country',
- {name: 'Year', type: 'ordinal'}
- ],
- source: data
- },
- series: [
- {
- type: 'scatter',
- symbolSize: symbolSize,
- xAxisIndex: 0,
- yAxisIndex: 0,
- encode: {
- x: 'Income',
- y: 'Life Expectancy',
- tooltip: [0, 1, 2, 3, 4]
- }
- },
- {
- type: 'scatter',
- symbolSize: symbolSize,
- xAxisIndex: 1,
- yAxisIndex: 1,
- encode: {
- x: 'Country',
- y: 'Income',
- tooltip: [0, 1, 2, 3, 4]
- }
- },
- {
- type: 'scatter',
- symbolSize: symbolSize,
- xAxisIndex: 2,
- yAxisIndex: 2,
- encode: {
- x: 'Income',
- y: 'Population',
- tooltip: [0, 1, 2, 3, 4]
- }
- },
- {
- type: 'scatter',
- symbolSize: symbolSize,
- xAxisIndex: 3,
- yAxisIndex: 3,
- encode: {
- x: 'Life Expectancy',
- y: 'Population',
- tooltip: [0, 1, 2, 3, 4]
- }
- }
- ]
- };
-
- myChart.setOption(option);
-});
\ No newline at end of file
diff --git a/public/data/dataset-link.js b/public/data/dataset-link.js
deleted file mode 100644
index 029dea2..0000000
--- a/public/data/dataset-link.js
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
-title: Share Dataset
-category: 'dataset, line, pie'
-titleCN: 联动和共享数据集
-difficulty: 5
-*/
-
-
-setTimeout(function () {
-
- option = {
- legend: {},
- tooltip: {
- trigger: 'axis',
- showContent: false
- },
- dataset: {
- source: [
- ['product', '2012', '2013', '2014', '2015', '2016', '2017'],
- ['Milk Tea', 56.5, 82.1, 88.7, 70.1, 53.4, 85.1],
- ['Matcha Latte', 51.1, 51.4, 55.1, 53.3, 73.8, 68.7],
- ['Cheese Cocoa', 40.1, 62.2, 69.5, 36.4, 45.2, 32.5],
- ['Walnut Brownie', 25.2, 37.1, 41.2, 18, 33.9, 49.1]
- ]
- },
- xAxis: {type: 'category'},
- yAxis: {gridIndex: 0},
- grid: {top: '55%'},
- series: [
- {type: 'line', smooth: true, seriesLayoutBy: 'row', emphasis: {focus: 'series'}},
- {type: 'line', smooth: true, seriesLayoutBy: 'row', emphasis: {focus: 'series'}},
- {type: 'line', smooth: true, seriesLayoutBy: 'row', emphasis: {focus: 'series'}},
- {type: 'line', smooth: true, seriesLayoutBy: 'row', emphasis: {focus: 'series'}},
- {
- type: 'pie',
- id: 'pie',
- radius: '30%',
- center: ['50%', '25%'],
- emphasis: {focus: 'data'},
- label: {
- formatter: '{b}: {@2012} ({d}%)'
- },
- encode: {
- itemName: 'product',
- value: '2012',
- tooltip: '2012'
- }
- }
- ]
- };
-
- myChart.on('updateAxisPointer', function (event) {
- var xAxisInfo = event.axesInfo[0];
- if (xAxisInfo) {
- var dimension = xAxisInfo.value + 1;
- myChart.setOption({
- series: {
- id: 'pie',
- label: {
- formatter: '{b}: {@[' + dimension + ']} ({d}%)'
- },
- encode: {
- value: dimension,
- tooltip: dimension
- }
- }
- });
- }
- });
-
- myChart.setOption(option);
-
-});
\ No newline at end of file
diff --git a/public/data/dataset-series-layout-by.js b/public/data/dataset-series-layout-by.js
deleted file mode 100644
index 20cbdda..0000000
--- a/public/data/dataset-series-layout-by.js
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-title: Series Layout By Column or Row
-category: 'dataset, bar'
-titleCN: 系列按行和按列排布
-difficulty: 5
-*/
-
-option = {
- legend: {},
- tooltip: {},
- dataset: {
- source: [
- ['product', '2012', '2013', '2014', '2015'],
- ['Matcha Latte', 41.1, 30.4, 65.1, 53.3],
- ['Milk Tea', 86.5, 92.1, 85.7, 83.1],
- ['Cheese Cocoa', 24.1, 67.2, 79.5, 86.4]
- ]
- },
- xAxis: [
- {type: 'category', gridIndex: 0},
- {type: 'category', gridIndex: 1}
- ],
- yAxis: [
- {gridIndex: 0},
- {gridIndex: 1}
- ],
- grid: [
- {bottom: '55%'},
- {top: '55%'}
- ],
- series: [
- // These series are in the first grid.
- {type: 'bar', seriesLayoutBy: 'row'},
- {type: 'bar', seriesLayoutBy: 'row'},
- {type: 'bar', seriesLayoutBy: 'row'},
- // These series are in the second grid.
- {type: 'bar', xAxisIndex: 1, yAxisIndex: 1},
- {type: 'bar', xAxisIndex: 1, yAxisIndex: 1},
- {type: 'bar', xAxisIndex: 1, yAxisIndex: 1},
- {type: 'bar', xAxisIndex: 1, yAxisIndex: 1}
- ]
-};
diff --git a/public/data/dataset-simple0.js b/public/data/dataset-simple0.js
deleted file mode 100644
index 5585358..0000000
--- a/public/data/dataset-simple0.js
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-title: Simple Example of Dataset
-category: 'dataset, bar'
-titleCN: 最简单的数据集(dataset)
-difficulty: 5
-*/
-
-option = {
- legend: {},
- tooltip: {},
- dataset: {
- source: [
- ['product', '2015', '2016', '2017'],
- ['Matcha Latte', 43.3, 85.8, 93.7],
- ['Milk Tea', 83.1, 73.4, 55.1],
- ['Cheese Cocoa', 86.4, 65.2, 82.5],
- ['Walnut Brownie', 72.4, 53.9, 39.1]
- ]
- },
- xAxis: {type: 'category'},
- yAxis: {},
- // Declare several bar series, each will be mapped
- // to a column of dataset.source by default.
- series: [
- {type: 'bar'},
- {type: 'bar'},
- {type: 'bar'}
- ]
-};
diff --git a/public/data/dataset-simple1.js b/public/data/dataset-simple1.js
deleted file mode 100644
index 4af4f39..0000000
--- a/public/data/dataset-simple1.js
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-title: Dataset in Object Array
-category: 'dataset, bar'
-titleCN: 对象数组的输入格式
-difficulty: 5
-*/
-
-option = {
- legend: {},
- tooltip: {},
- dataset: {
- dimensions: ['product', '2015', '2016', '2017'],
- source: [
- {product: 'Matcha Latte', '2015': 43.3, '2016': 85.8, '2017': 93.7},
- {product: 'Milk Tea', '2015': 83.1, '2016': 73.4, '2017': 55.1},
- {product: 'Cheese Cocoa', '2015': 86.4, '2016': 65.2, '2017': 82.5},
- {product: 'Walnut Brownie', '2015': 72.4, '2016': 53.9, '2017': 39.1}
- ]
- },
- xAxis: {type: 'category'},
- yAxis: {},
- // Declare several bar series, each will be mapped
- // to a column of dataset.source by default.
- series: [
- {type: 'bar'},
- {type: 'bar'},
- {type: 'bar'}
- ]
-};
diff --git a/public/data/dynamic-data.js b/public/data/dynamic-data.js
deleted file mode 100644
index d7c9e49..0000000
--- a/public/data/dynamic-data.js
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
-title: Dynamic Data
-category: bar
-titleCN: 动态数据
-difficulty: 6
-*/
-
-option = {
- title: {
- text: '动态数据',
- subtext: '纯属虚构'
- },
- tooltip: {
- trigger: 'axis',
- axisPointer: {
- type: 'cross',
- label: {
- backgroundColor: '#283b56'
- }
- }
- },
- legend: {
- data:['最新成交价', '预购队列']
- },
- toolbox: {
- show: true,
- feature: {
- dataView: {readOnly: false},
- restore: {},
- saveAsImage: {}
- }
- },
- dataZoom: {
- show: false,
- start: 0,
- end: 100
- },
- xAxis: [
- {
- type: 'category',
- boundaryGap: true,
- data: (function (){
- var now = new Date();
- var res = [];
- var len = 10;
- while (len--) {
- res.unshift(now.toLocaleTimeString().replace(/^\D*/,''));
- now = new Date(now - 2000);
- }
- return res;
- })()
- },
- {
- type: 'category',
- boundaryGap: true,
- data: (function (){
- var res = [];
- var len = 10;
- while (len--) {
- res.push(10 - len - 1);
- }
- return res;
- })()
- }
- ],
- yAxis: [
- {
- type: 'value',
- scale: true,
- name: '价格',
- max: 30,
- min: 0,
- boundaryGap: [0.2, 0.2]
- },
- {
- type: 'value',
- scale: true,
- name: '预购量',
- max: 1200,
- min: 0,
- boundaryGap: [0.2, 0.2]
- }
- ],
- series: [
- {
- name: '预购队列',
- type: 'bar',
- xAxisIndex: 1,
- yAxisIndex: 1,
- data: (function (){
- var res = [];
- var len = 10;
- while (len--) {
- res.push(Math.round(Math.random() * 1000));
- }
- return res;
- })()
- },
- {
- name: '最新成交价',
- type: 'line',
- data: (function (){
- var res = [];
- var len = 0;
- while (len < 10) {
- res.push((Math.random()*10 + 5).toFixed(1) - 0);
- len++;
- }
- return res;
- })()
- }
- ]
-};
-
-app.count = 11;
-setInterval(function (){
- var axisData = (new Date()).toLocaleTimeString().replace(/^\D*/, '');
-
- var data0 = option.series[0].data;
- var data1 = option.series[1].data;
- data0.shift();
- data0.push(Math.round(Math.random() * 1000));
- data1.shift();
- data1.push((Math.random() * 10 + 5).toFixed(1) - 0);
-
- option.xAxis[0].data.shift();
- option.xAxis[0].data.push(axisData);
- option.xAxis[1].data.shift();
- option.xAxis[1].data.push(app.count++);
-
- myChart.setOption(option);
-}, 2100);
diff --git a/public/data/dynamic-data2.js b/public/data/dynamic-data2.js
deleted file mode 100644
index 23ad102..0000000
--- a/public/data/dynamic-data2.js
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-title: Dynamic Data + Time Axis
-category: line
-titleCN: 动态数据 + 时间坐标轴
-difficulty: 5
-*/
-
-function randomData() {
- now = new Date(+now + oneDay);
- value = value + Math.random() * 21 - 10;
- return {
- name: now.toString(),
- value: [
- [now.getFullYear(), now.getMonth() + 1, now.getDate()].join('/'),
- Math.round(value)
- ]
- };
-}
-
-var data = [];
-var now = +new Date(1997, 9, 3);
-var oneDay = 24 * 3600 * 1000;
-var value = Math.random() * 1000;
-for (var i = 0; i < 1000; i++) {
- data.push(randomData());
-}
-
-option = {
- title: {
- text: '动态数据 + 时间坐标轴'
- },
- tooltip: {
- trigger: 'axis',
- formatter: function (params) {
- params = params[0];
- var date = new Date(params.name);
- return date.getDate() + '/' + (date.getMonth() + 1) + '/' + date.getFullYear() + ' : ' + params.value[1];
- },
- axisPointer: {
- animation: false
- }
- },
- xAxis: {
- type: 'time',
- splitLine: {
- show: false
- }
- },
- yAxis: {
- type: 'value',
- boundaryGap: [0, '100%'],
- splitLine: {
- show: false
- }
- },
- series: [{
- name: '模拟数据',
- type: 'line',
- showSymbol: false,
- hoverAnimation: false,
- data: data
- }]
-};
-
-setInterval(function () {
-
- for (var i = 0; i < 5; i++) {
- data.shift();
- data.push(randomData());
- }
-
- myChart.setOption({
- series: [{
- data: data
- }]
- });
-}, 1000);
\ No newline at end of file
diff --git a/public/data/effectScatter-bmap.js b/public/data/effectScatter-bmap.js
deleted file mode 100644
index 850df19..0000000
--- a/public/data/effectScatter-bmap.js
+++ /dev/null
@@ -1,575 +0,0 @@
-/*
-title: Air Quality - Baidu Map
-category: 'scatter, map'
-tags: bmap
-titleCN: 全国主要城市空气质量 - 百度地图
-difficulty: 10
-*/
-
-var data = [
- {name: '海门', value: 9},
- {name: '鄂尔多斯', value: 12},
- {name: '招远', value: 12},
- {name: '舟山', value: 12},
- {name: '齐齐哈尔', value: 14},
- {name: '盐城', value: 15},
- {name: '赤峰', value: 16},
- {name: '青岛', value: 18},
- {name: '乳山', value: 18},
- {name: '金昌', value: 19},
- {name: '泉州', value: 21},
- {name: '莱西', value: 21},
- {name: '日照', value: 21},
- {name: '胶南', value: 22},
- {name: '南通', value: 23},
- {name: '拉萨', value: 24},
- {name: '云浮', value: 24},
- {name: '梅州', value: 25},
- {name: '文登', value: 25},
- {name: '上海', value: 25},
- {name: '攀枝花', value: 25},
- {name: '威海', value: 25},
- {name: '承德', value: 25},
- {name: '厦门', value: 26},
- {name: '汕尾', value: 26},
- {name: '潮州', value: 26},
- {name: '丹东', value: 27},
- {name: '太仓', value: 27},
- {name: '曲靖', value: 27},
- {name: '烟台', value: 28},
- {name: '福州', value: 29},
- {name: '瓦房店', value: 30},
- {name: '即墨', value: 30},
- {name: '抚顺', value: 31},
- {name: '玉溪', value: 31},
- {name: '张家口', value: 31},
- {name: '阳泉', value: 31},
- {name: '莱州', value: 32},
- {name: '湖州', value: 32},
- {name: '汕头', value: 32},
- {name: '昆山', value: 33},
- {name: '宁波', value: 33},
- {name: '湛江', value: 33},
- {name: '揭阳', value: 34},
- {name: '荣成', value: 34},
- {name: '连云港', value: 35},
- {name: '葫芦岛', value: 35},
- {name: '常熟', value: 36},
- {name: '东莞', value: 36},
- {name: '河源', value: 36},
- {name: '淮安', value: 36},
- {name: '泰州', value: 36},
- {name: '南宁', value: 37},
- {name: '营口', value: 37},
- {name: '惠州', value: 37},
- {name: '江阴', value: 37},
- {name: '蓬莱', value: 37},
- {name: '韶关', value: 38},
- {name: '嘉峪关', value: 38},
- {name: '广州', value: 38},
- {name: '延安', value: 38},
- {name: '太原', value: 39},
- {name: '清远', value: 39},
- {name: '中山', value: 39},
- {name: '昆明', value: 39},
- {name: '寿光', value: 40},
- {name: '盘锦', value: 40},
- {name: '长治', value: 41},
- {name: '深圳', value: 41},
- {name: '珠海', value: 42},
- {name: '宿迁', value: 43},
- {name: '咸阳', value: 43},
- {name: '铜川', value: 44},
- {name: '平度', value: 44},
- {name: '佛山', value: 44},
- {name: '海口', value: 44},
- {name: '江门', value: 45},
- {name: '章丘', value: 45},
- {name: '肇庆', value: 46},
- {name: '大连', value: 47},
- {name: '临汾', value: 47},
- {name: '吴江', value: 47},
- {name: '石嘴山', value: 49},
- {name: '沈阳', value: 50},
- {name: '苏州', value: 50},
- {name: '茂名', value: 50},
- {name: '嘉兴', value: 51},
- {name: '长春', value: 51},
- {name: '胶州', value: 52},
- {name: '银川', value: 52},
- {name: '张家港', value: 52},
- {name: '三门峡', value: 53},
- {name: '锦州', value: 54},
- {name: '南昌', value: 54},
- {name: '柳州', value: 54},
- {name: '三亚', value: 54},
- {name: '自贡', value: 56},
- {name: '吉林', value: 56},
- {name: '阳江', value: 57},
- {name: '泸州', value: 57},
- {name: '西宁', value: 57},
- {name: '宜宾', value: 58},
- {name: '呼和浩特', value: 58},
- {name: '成都', value: 58},
- {name: '大同', value: 58},
- {name: '镇江', value: 59},
- {name: '桂林', value: 59},
- {name: '张家界', value: 59},
- {name: '宜兴', value: 59},
- {name: '北海', value: 60},
- {name: '西安', value: 61},
- {name: '金坛', value: 62},
- {name: '东营', value: 62},
- {name: '牡丹江', value: 63},
- {name: '遵义', value: 63},
- {name: '绍兴', value: 63},
- {name: '扬州', value: 64},
- {name: '常州', value: 64},
- {name: '潍坊', value: 65},
- {name: '重庆', value: 66},
- {name: '台州', value: 67},
- {name: '南京', value: 67},
- {name: '滨州', value: 70},
- {name: '贵阳', value: 71},
- {name: '无锡', value: 71},
- {name: '本溪', value: 71},
- {name: '克拉玛依', value: 72},
- {name: '渭南', value: 72},
- {name: '马鞍山', value: 72},
- {name: '宝鸡', value: 72},
- {name: '焦作', value: 75},
- {name: '句容', value: 75},
- {name: '北京', value: 79},
- {name: '徐州', value: 79},
- {name: '衡水', value: 80},
- {name: '包头', value: 80},
- {name: '绵阳', value: 80},
- {name: '乌鲁木齐', value: 84},
- {name: '枣庄', value: 84},
- {name: '杭州', value: 84},
- {name: '淄博', value: 85},
- {name: '鞍山', value: 86},
- {name: '溧阳', value: 86},
- {name: '库尔勒', value: 86},
- {name: '安阳', value: 90},
- {name: '开封', value: 90},
- {name: '济南', value: 92},
- {name: '德阳', value: 93},
- {name: '温州', value: 95},
- {name: '九江', value: 96},
- {name: '邯郸', value: 98},
- {name: '临安', value: 99},
- {name: '兰州', value: 99},
- {name: '沧州', value: 100},
- {name: '临沂', value: 103},
- {name: '南充', value: 104},
- {name: '天津', value: 105},
- {name: '富阳', value: 106},
- {name: '泰安', value: 112},
- {name: '诸暨', value: 112},
- {name: '郑州', value: 113},
- {name: '哈尔滨', value: 114},
- {name: '聊城', value: 116},
- {name: '芜湖', value: 117},
- {name: '唐山', value: 119},
- {name: '平顶山', value: 119},
- {name: '邢台', value: 119},
- {name: '德州', value: 120},
- {name: '济宁', value: 120},
- {name: '荆州', value: 127},
- {name: '宜昌', value: 130},
- {name: '义乌', value: 132},
- {name: '丽水', value: 133},
- {name: '洛阳', value: 134},
- {name: '秦皇岛', value: 136},
- {name: '株洲', value: 143},
- {name: '石家庄', value: 147},
- {name: '莱芜', value: 148},
- {name: '常德', value: 152},
- {name: '保定', value: 153},
- {name: '湘潭', value: 154},
- {name: '金华', value: 157},
- {name: '岳阳', value: 169},
- {name: '长沙', value: 175},
- {name: '衢州', value: 177},
- {name: '廊坊', value: 193},
- {name: '菏泽', value: 194},
- {name: '合肥', value: 229},
- {name: '武汉', value: 273},
- {name: '大庆', value: 279}
-];
-var geoCoordMap = {
- '海门':[121.15,31.89],
- '鄂尔多斯':[109.781327,39.608266],
- '招远':[120.38,37.35],
- '舟山':[122.207216,29.985295],
- '齐齐哈尔':[123.97,47.33],
- '盐城':[120.13,33.38],
- '赤峰':[118.87,42.28],
- '青岛':[120.33,36.07],
- '乳山':[121.52,36.89],
- '金昌':[102.188043,38.520089],
- '泉州':[118.58,24.93],
- '莱西':[120.53,36.86],
- '日照':[119.46,35.42],
- '胶南':[119.97,35.88],
- '南通':[121.05,32.08],
- '拉萨':[91.11,29.97],
- '云浮':[112.02,22.93],
- '梅州':[116.1,24.55],
- '文登':[122.05,37.2],
- '上海':[121.48,31.22],
- '攀枝花':[101.718637,26.582347],
- '威海':[122.1,37.5],
- '承德':[117.93,40.97],
- '厦门':[118.1,24.46],
- '汕尾':[115.375279,22.786211],
- '潮州':[116.63,23.68],
- '丹东':[124.37,40.13],
- '太仓':[121.1,31.45],
- '曲靖':[103.79,25.51],
- '烟台':[121.39,37.52],
- '福州':[119.3,26.08],
- '瓦房店':[121.979603,39.627114],
- '即墨':[120.45,36.38],
- '抚顺':[123.97,41.97],
- '玉溪':[102.52,24.35],
- '张家口':[114.87,40.82],
- '阳泉':[113.57,37.85],
- '莱州':[119.942327,37.177017],
- '湖州':[120.1,30.86],
- '汕头':[116.69,23.39],
- '昆山':[120.95,31.39],
- '宁波':[121.56,29.86],
- '湛江':[110.359377,21.270708],
- '揭阳':[116.35,23.55],
- '荣成':[122.41,37.16],
- '连云港':[119.16,34.59],
- '葫芦岛':[120.836932,40.711052],
- '常熟':[120.74,31.64],
- '东莞':[113.75,23.04],
- '河源':[114.68,23.73],
- '淮安':[119.15,33.5],
- '泰州':[119.9,32.49],
- '南宁':[108.33,22.84],
- '营口':[122.18,40.65],
- '惠州':[114.4,23.09],
- '江阴':[120.26,31.91],
- '蓬莱':[120.75,37.8],
- '韶关':[113.62,24.84],
- '嘉峪关':[98.289152,39.77313],
- '广州':[113.23,23.16],
- '延安':[109.47,36.6],
- '太原':[112.53,37.87],
- '清远':[113.01,23.7],
- '中山':[113.38,22.52],
- '昆明':[102.73,25.04],
- '寿光':[118.73,36.86],
- '盘锦':[122.070714,41.119997],
- '长治':[113.08,36.18],
- '深圳':[114.07,22.62],
- '珠海':[113.52,22.3],
- '宿迁':[118.3,33.96],
- '咸阳':[108.72,34.36],
- '铜川':[109.11,35.09],
- '平度':[119.97,36.77],
- '佛山':[113.11,23.05],
- '海口':[110.35,20.02],
- '江门':[113.06,22.61],
- '章丘':[117.53,36.72],
- '肇庆':[112.44,23.05],
- '大连':[121.62,38.92],
- '临汾':[111.5,36.08],
- '吴江':[120.63,31.16],
- '石嘴山':[106.39,39.04],
- '沈阳':[123.38,41.8],
- '苏州':[120.62,31.32],
- '茂名':[110.88,21.68],
- '嘉兴':[120.76,30.77],
- '长春':[125.35,43.88],
- '胶州':[120.03336,36.264622],
- '银川':[106.27,38.47],
- '张家港':[120.555821,31.875428],
- '三门峡':[111.19,34.76],
- '锦州':[121.15,41.13],
- '南昌':[115.89,28.68],
- '柳州':[109.4,24.33],
- '三亚':[109.511909,18.252847],
- '自贡':[104.778442,29.33903],
- '吉林':[126.57,43.87],
- '阳江':[111.95,21.85],
- '泸州':[105.39,28.91],
- '西宁':[101.74,36.56],
- '宜宾':[104.56,29.77],
- '呼和浩特':[111.65,40.82],
- '成都':[104.06,30.67],
- '大同':[113.3,40.12],
- '镇江':[119.44,32.2],
- '桂林':[110.28,25.29],
- '张家界':[110.479191,29.117096],
- '宜兴':[119.82,31.36],
- '北海':[109.12,21.49],
- '西安':[108.95,34.27],
- '金坛':[119.56,31.74],
- '东营':[118.49,37.46],
- '牡丹江':[129.58,44.6],
- '遵义':[106.9,27.7],
- '绍兴':[120.58,30.01],
- '扬州':[119.42,32.39],
- '常州':[119.95,31.79],
- '潍坊':[119.1,36.62],
- '重庆':[106.54,29.59],
- '台州':[121.420757,28.656386],
- '南京':[118.78,32.04],
- '滨州':[118.03,37.36],
- '贵阳':[106.71,26.57],
- '无锡':[120.29,31.59],
- '本溪':[123.73,41.3],
- '克拉玛依':[84.77,45.59],
- '渭南':[109.5,34.52],
- '马鞍山':[118.48,31.56],
- '宝鸡':[107.15,34.38],
- '焦作':[113.21,35.24],
- '句容':[119.16,31.95],
- '北京':[116.46,39.92],
- '徐州':[117.2,34.26],
- '衡水':[115.72,37.72],
- '包头':[110,40.58],
- '绵阳':[104.73,31.48],
- '乌鲁木齐':[87.68,43.77],
- '枣庄':[117.57,34.86],
- '杭州':[120.19,30.26],
- '淄博':[118.05,36.78],
- '鞍山':[122.85,41.12],
- '溧阳':[119.48,31.43],
- '库尔勒':[86.06,41.68],
- '安阳':[114.35,36.1],
- '开封':[114.35,34.79],
- '济南':[117,36.65],
- '德阳':[104.37,31.13],
- '温州':[120.65,28.01],
- '九江':[115.97,29.71],
- '邯郸':[114.47,36.6],
- '临安':[119.72,30.23],
- '兰州':[103.73,36.03],
- '沧州':[116.83,38.33],
- '临沂':[118.35,35.05],
- '南充':[106.110698,30.837793],
- '天津':[117.2,39.13],
- '富阳':[119.95,30.07],
- '泰安':[117.13,36.18],
- '诸暨':[120.23,29.71],
- '郑州':[113.65,34.76],
- '哈尔滨':[126.63,45.75],
- '聊城':[115.97,36.45],
- '芜湖':[118.38,31.33],
- '唐山':[118.02,39.63],
- '平顶山':[113.29,33.75],
- '邢台':[114.48,37.05],
- '德州':[116.29,37.45],
- '济宁':[116.59,35.38],
- '荆州':[112.239741,30.335165],
- '宜昌':[111.3,30.7],
- '义乌':[120.06,29.32],
- '丽水':[119.92,28.45],
- '洛阳':[112.44,34.7],
- '秦皇岛':[119.57,39.95],
- '株洲':[113.16,27.83],
- '石家庄':[114.48,38.03],
- '莱芜':[117.67,36.19],
- '常德':[111.69,29.05],
- '保定':[115.48,38.85],
- '湘潭':[112.91,27.87],
- '金华':[119.64,29.12],
- '岳阳':[113.09,29.37],
- '长沙':[113,28.21],
- '衢州':[118.88,28.97],
- '廊坊':[116.7,39.53],
- '菏泽':[115.480656,35.23375],
- '合肥':[117.27,31.86],
- '武汉':[114.31,30.52],
- '大庆':[125.03,46.58]
-};
-
-var convertData = function (data) {
- var res = [];
- for (var i = 0; i < data.length; i++) {
- var geoCoord = geoCoordMap[data[i].name];
- if (geoCoord) {
- res.push({
- name: data[i].name,
- value: geoCoord.concat(data[i].value)
- });
- }
- }
- return res;
-};
-
-option = {
- title: {
- text: '全国主要城市空气质量 - 百度地图',
- subtext: 'data from PM25.in',
- sublink: 'http://www.pm25.in',
- left: 'center'
- },
- tooltip : {
- trigger: 'item'
- },
- bmap: {
- center: [104.114129, 37.550339],
- zoom: 5,
- roam: true,
- mapStyle: {
- styleJson: [{
- 'featureType': 'water',
- 'elementType': 'all',
- 'stylers': {
- 'color': '#d1d1d1'
- }
- }, {
- 'featureType': 'land',
- 'elementType': 'all',
- 'stylers': {
- 'color': '#f3f3f3'
- }
- }, {
- 'featureType': 'railway',
- 'elementType': 'all',
- 'stylers': {
- 'visibility': 'off'
- }
- }, {
- 'featureType': 'highway',
- 'elementType': 'all',
- 'stylers': {
- 'color': '#fdfdfd'
- }
- }, {
- 'featureType': 'highway',
- 'elementType': 'labels',
- 'stylers': {
- 'visibility': 'off'
- }
- }, {
- 'featureType': 'arterial',
- 'elementType': 'geometry',
- 'stylers': {
- 'color': '#fefefe'
- }
- }, {
- 'featureType': 'arterial',
- 'elementType': 'geometry.fill',
- 'stylers': {
- 'color': '#fefefe'
- }
- }, {
- 'featureType': 'poi',
- 'elementType': 'all',
- 'stylers': {
- 'visibility': 'off'
- }
- }, {
- 'featureType': 'green',
- 'elementType': 'all',
- 'stylers': {
- 'visibility': 'off'
- }
- }, {
- 'featureType': 'subway',
- 'elementType': 'all',
- 'stylers': {
- 'visibility': 'off'
- }
- }, {
- 'featureType': 'manmade',
- 'elementType': 'all',
- 'stylers': {
- 'color': '#d1d1d1'
- }
- }, {
- 'featureType': 'local',
- 'elementType': 'all',
- 'stylers': {
- 'color': '#d1d1d1'
- }
- }, {
- 'featureType': 'arterial',
- 'elementType': 'labels',
- 'stylers': {
- 'visibility': 'off'
- }
- }, {
- 'featureType': 'boundary',
- 'elementType': 'all',
- 'stylers': {
- 'color': '#fefefe'
- }
- }, {
- 'featureType': 'building',
- 'elementType': 'all',
- 'stylers': {
- 'color': '#d1d1d1'
- }
- }, {
- 'featureType': 'label',
- 'elementType': 'labels.text.fill',
- 'stylers': {
- 'color': '#999999'
- }
- }]
- }
- },
- series : [
- {
- name: 'pm2.5',
- type: 'scatter',
- coordinateSystem: 'bmap',
- data: convertData(data),
- symbolSize: function (val) {
- return val[2] / 10;
- },
- encode: {
- value: 2
- },
- label: {
- formatter: '{b}',
- position: 'right',
- show: false
- },
- emphasis: {
- label: {
- show: true
- }
- }
- },
- {
- name: 'Top 5',
- type: 'effectScatter',
- coordinateSystem: 'bmap',
- data: convertData(data.sort(function (a, b) {
- return b.value - a.value;
- }).slice(0, 6)),
- symbolSize: function (val) {
- return val[2] / 10;
- },
- encode: {
- value: 2
- },
- showEffectOn: 'render',
- rippleEffect: {
- brushType: 'stroke'
- },
- hoverAnimation: true,
- label: {
- formatter: '{b}',
- position: 'right',
- show: true
- },
- itemStyle: {
- shadowBlur: 10,
- shadowColor: '#333'
- },
- zlevel: 1
- }
- ]
-};
\ No newline at end of file
diff --git a/public/data/effectScatter-map.js b/public/data/effectScatter-map.js
deleted file mode 100644
index 8509c87..0000000
--- a/public/data/effectScatter-map.js
+++ /dev/null
@@ -1,503 +0,0 @@
-/*
-title: Air Quality
-category: scatter
-titleCN: 全国主要城市空气质量
-difficulty: 2
-*/
-
-var data = [
- {name: '海门', value: 9},
- {name: '鄂尔多斯', value: 12},
- {name: '招远', value: 12},
- {name: '舟山', value: 12},
- {name: '齐齐哈尔', value: 14},
- {name: '盐城', value: 15},
- {name: '赤峰', value: 16},
- {name: '青岛', value: 18},
- {name: '乳山', value: 18},
- {name: '金昌', value: 19},
- {name: '泉州', value: 21},
- {name: '莱西', value: 21},
- {name: '日照', value: 21},
- {name: '胶南', value: 22},
- {name: '南通', value: 23},
- {name: '拉萨', value: 24},
- {name: '云浮', value: 24},
- {name: '梅州', value: 25},
- {name: '文登', value: 25},
- {name: '上海', value: 25},
- {name: '攀枝花', value: 25},
- {name: '威海', value: 25},
- {name: '承德', value: 25},
- {name: '厦门', value: 26},
- {name: '汕尾', value: 26},
- {name: '潮州', value: 26},
- {name: '丹东', value: 27},
- {name: '太仓', value: 27},
- {name: '曲靖', value: 27},
- {name: '烟台', value: 28},
- {name: '福州', value: 29},
- {name: '瓦房店', value: 30},
- {name: '即墨', value: 30},
- {name: '抚顺', value: 31},
- {name: '玉溪', value: 31},
- {name: '张家口', value: 31},
- {name: '阳泉', value: 31},
- {name: '莱州', value: 32},
- {name: '湖州', value: 32},
- {name: '汕头', value: 32},
- {name: '昆山', value: 33},
- {name: '宁波', value: 33},
- {name: '湛江', value: 33},
- {name: '揭阳', value: 34},
- {name: '荣成', value: 34},
- {name: '连云港', value: 35},
- {name: '葫芦岛', value: 35},
- {name: '常熟', value: 36},
- {name: '东莞', value: 36},
- {name: '河源', value: 36},
- {name: '淮安', value: 36},
- {name: '泰州', value: 36},
- {name: '南宁', value: 37},
- {name: '营口', value: 37},
- {name: '惠州', value: 37},
- {name: '江阴', value: 37},
- {name: '蓬莱', value: 37},
- {name: '韶关', value: 38},
- {name: '嘉峪关', value: 38},
- {name: '广州', value: 38},
- {name: '延安', value: 38},
- {name: '太原', value: 39},
- {name: '清远', value: 39},
- {name: '中山', value: 39},
- {name: '昆明', value: 39},
- {name: '寿光', value: 40},
- {name: '盘锦', value: 40},
- {name: '长治', value: 41},
- {name: '深圳', value: 41},
- {name: '珠海', value: 42},
- {name: '宿迁', value: 43},
- {name: '咸阳', value: 43},
- {name: '铜川', value: 44},
- {name: '平度', value: 44},
- {name: '佛山', value: 44},
- {name: '海口', value: 44},
- {name: '江门', value: 45},
- {name: '章丘', value: 45},
- {name: '肇庆', value: 46},
- {name: '大连', value: 47},
- {name: '临汾', value: 47},
- {name: '吴江', value: 47},
- {name: '石嘴山', value: 49},
- {name: '沈阳', value: 50},
- {name: '苏州', value: 50},
- {name: '茂名', value: 50},
- {name: '嘉兴', value: 51},
- {name: '长春', value: 51},
- {name: '胶州', value: 52},
- {name: '银川', value: 52},
- {name: '张家港', value: 52},
- {name: '三门峡', value: 53},
- {name: '锦州', value: 54},
- {name: '南昌', value: 54},
- {name: '柳州', value: 54},
- {name: '三亚', value: 54},
- {name: '自贡', value: 56},
- {name: '吉林', value: 56},
- {name: '阳江', value: 57},
- {name: '泸州', value: 57},
- {name: '西宁', value: 57},
- {name: '宜宾', value: 58},
- {name: '呼和浩特', value: 58},
- {name: '成都', value: 58},
- {name: '大同', value: 58},
- {name: '镇江', value: 59},
- {name: '桂林', value: 59},
- {name: '张家界', value: 59},
- {name: '宜兴', value: 59},
- {name: '北海', value: 60},
- {name: '西安', value: 61},
- {name: '金坛', value: 62},
- {name: '东营', value: 62},
- {name: '牡丹江', value: 63},
- {name: '遵义', value: 63},
- {name: '绍兴', value: 63},
- {name: '扬州', value: 64},
- {name: '常州', value: 64},
- {name: '潍坊', value: 65},
- {name: '重庆', value: 66},
- {name: '台州', value: 67},
- {name: '南京', value: 67},
- {name: '滨州', value: 70},
- {name: '贵阳', value: 71},
- {name: '无锡', value: 71},
- {name: '本溪', value: 71},
- {name: '克拉玛依', value: 72},
- {name: '渭南', value: 72},
- {name: '马鞍山', value: 72},
- {name: '宝鸡', value: 72},
- {name: '焦作', value: 75},
- {name: '句容', value: 75},
- {name: '北京', value: 79},
- {name: '徐州', value: 79},
- {name: '衡水', value: 80},
- {name: '包头', value: 80},
- {name: '绵阳', value: 80},
- {name: '乌鲁木齐', value: 84},
- {name: '枣庄', value: 84},
- {name: '杭州', value: 84},
- {name: '淄博', value: 85},
- {name: '鞍山', value: 86},
- {name: '溧阳', value: 86},
- {name: '库尔勒', value: 86},
- {name: '安阳', value: 90},
- {name: '开封', value: 90},
- {name: '济南', value: 92},
- {name: '德阳', value: 93},
- {name: '温州', value: 95},
- {name: '九江', value: 96},
- {name: '邯郸', value: 98},
- {name: '临安', value: 99},
- {name: '兰州', value: 99},
- {name: '沧州', value: 100},
- {name: '临沂', value: 103},
- {name: '南充', value: 104},
- {name: '天津', value: 105},
- {name: '富阳', value: 106},
- {name: '泰安', value: 112},
- {name: '诸暨', value: 112},
- {name: '郑州', value: 113},
- {name: '哈尔滨', value: 114},
- {name: '聊城', value: 116},
- {name: '芜湖', value: 117},
- {name: '唐山', value: 119},
- {name: '平顶山', value: 119},
- {name: '邢台', value: 119},
- {name: '德州', value: 120},
- {name: '济宁', value: 120},
- {name: '荆州', value: 127},
- {name: '宜昌', value: 130},
- {name: '义乌', value: 132},
- {name: '丽水', value: 133},
- {name: '洛阳', value: 134},
- {name: '秦皇岛', value: 136},
- {name: '株洲', value: 143},
- {name: '石家庄', value: 147},
- {name: '莱芜', value: 148},
- {name: '常德', value: 152},
- {name: '保定', value: 153},
- {name: '湘潭', value: 154},
- {name: '金华', value: 157},
- {name: '岳阳', value: 169},
- {name: '长沙', value: 175},
- {name: '衢州', value: 177},
- {name: '廊坊', value: 193},
- {name: '菏泽', value: 194},
- {name: '合肥', value: 229},
- {name: '武汉', value: 273},
- {name: '大庆', value: 279}
-];
-var geoCoordMap = {
- '海门':[121.15,31.89],
- '鄂尔多斯':[109.781327,39.608266],
- '招远':[120.38,37.35],
- '舟山':[122.207216,29.985295],
- '齐齐哈尔':[123.97,47.33],
- '盐城':[120.13,33.38],
- '赤峰':[118.87,42.28],
- '青岛':[120.33,36.07],
- '乳山':[121.52,36.89],
- '金昌':[102.188043,38.520089],
- '泉州':[118.58,24.93],
- '莱西':[120.53,36.86],
- '日照':[119.46,35.42],
- '胶南':[119.97,35.88],
- '南通':[121.05,32.08],
- '拉萨':[91.11,29.97],
- '云浮':[112.02,22.93],
- '梅州':[116.1,24.55],
- '文登':[122.05,37.2],
- '上海':[121.48,31.22],
- '攀枝花':[101.718637,26.582347],
- '威海':[122.1,37.5],
- '承德':[117.93,40.97],
- '厦门':[118.1,24.46],
- '汕尾':[115.375279,22.786211],
- '潮州':[116.63,23.68],
- '丹东':[124.37,40.13],
- '太仓':[121.1,31.45],
- '曲靖':[103.79,25.51],
- '烟台':[121.39,37.52],
- '福州':[119.3,26.08],
- '瓦房店':[121.979603,39.627114],
- '即墨':[120.45,36.38],
- '抚顺':[123.97,41.97],
- '玉溪':[102.52,24.35],
- '张家口':[114.87,40.82],
- '阳泉':[113.57,37.85],
- '莱州':[119.942327,37.177017],
- '湖州':[120.1,30.86],
- '汕头':[116.69,23.39],
- '昆山':[120.95,31.39],
- '宁波':[121.56,29.86],
- '湛江':[110.359377,21.270708],
- '揭阳':[116.35,23.55],
- '荣成':[122.41,37.16],
- '连云港':[119.16,34.59],
- '葫芦岛':[120.836932,40.711052],
- '常熟':[120.74,31.64],
- '东莞':[113.75,23.04],
- '河源':[114.68,23.73],
- '淮安':[119.15,33.5],
- '泰州':[119.9,32.49],
- '南宁':[108.33,22.84],
- '营口':[122.18,40.65],
- '惠州':[114.4,23.09],
- '江阴':[120.26,31.91],
- '蓬莱':[120.75,37.8],
- '韶关':[113.62,24.84],
- '嘉峪关':[98.289152,39.77313],
- '广州':[113.23,23.16],
- '延安':[109.47,36.6],
- '太原':[112.53,37.87],
- '清远':[113.01,23.7],
- '中山':[113.38,22.52],
- '昆明':[102.73,25.04],
- '寿光':[118.73,36.86],
- '盘锦':[122.070714,41.119997],
- '长治':[113.08,36.18],
- '深圳':[114.07,22.62],
- '珠海':[113.52,22.3],
- '宿迁':[118.3,33.96],
- '咸阳':[108.72,34.36],
- '铜川':[109.11,35.09],
- '平度':[119.97,36.77],
- '佛山':[113.11,23.05],
- '海口':[110.35,20.02],
- '江门':[113.06,22.61],
- '章丘':[117.53,36.72],
- '肇庆':[112.44,23.05],
- '大连':[121.62,38.92],
- '临汾':[111.5,36.08],
- '吴江':[120.63,31.16],
- '石嘴山':[106.39,39.04],
- '沈阳':[123.38,41.8],
- '苏州':[120.62,31.32],
- '茂名':[110.88,21.68],
- '嘉兴':[120.76,30.77],
- '长春':[125.35,43.88],
- '胶州':[120.03336,36.264622],
- '银川':[106.27,38.47],
- '张家港':[120.555821,31.875428],
- '三门峡':[111.19,34.76],
- '锦州':[121.15,41.13],
- '南昌':[115.89,28.68],
- '柳州':[109.4,24.33],
- '三亚':[109.511909,18.252847],
- '自贡':[104.778442,29.33903],
- '吉林':[126.57,43.87],
- '阳江':[111.95,21.85],
- '泸州':[105.39,28.91],
- '西宁':[101.74,36.56],
- '宜宾':[104.56,29.77],
- '呼和浩特':[111.65,40.82],
- '成都':[104.06,30.67],
- '大同':[113.3,40.12],
- '镇江':[119.44,32.2],
- '桂林':[110.28,25.29],
- '张家界':[110.479191,29.117096],
- '宜兴':[119.82,31.36],
- '北海':[109.12,21.49],
- '西安':[108.95,34.27],
- '金坛':[119.56,31.74],
- '东营':[118.49,37.46],
- '牡丹江':[129.58,44.6],
- '遵义':[106.9,27.7],
- '绍兴':[120.58,30.01],
- '扬州':[119.42,32.39],
- '常州':[119.95,31.79],
- '潍坊':[119.1,36.62],
- '重庆':[106.54,29.59],
- '台州':[121.420757,28.656386],
- '南京':[118.78,32.04],
- '滨州':[118.03,37.36],
- '贵阳':[106.71,26.57],
- '无锡':[120.29,31.59],
- '本溪':[123.73,41.3],
- '克拉玛依':[84.77,45.59],
- '渭南':[109.5,34.52],
- '马鞍山':[118.48,31.56],
- '宝鸡':[107.15,34.38],
- '焦作':[113.21,35.24],
- '句容':[119.16,31.95],
- '北京':[116.46,39.92],
- '徐州':[117.2,34.26],
- '衡水':[115.72,37.72],
- '包头':[110,40.58],
- '绵阳':[104.73,31.48],
- '乌鲁木齐':[87.68,43.77],
- '枣庄':[117.57,34.86],
- '杭州':[120.19,30.26],
- '淄博':[118.05,36.78],
- '鞍山':[122.85,41.12],
- '溧阳':[119.48,31.43],
- '库尔勒':[86.06,41.68],
- '安阳':[114.35,36.1],
- '开封':[114.35,34.79],
- '济南':[117,36.65],
- '德阳':[104.37,31.13],
- '温州':[120.65,28.01],
- '九江':[115.97,29.71],
- '邯郸':[114.47,36.6],
- '临安':[119.72,30.23],
- '兰州':[103.73,36.03],
- '沧州':[116.83,38.33],
- '临沂':[118.35,35.05],
- '南充':[106.110698,30.837793],
- '天津':[117.2,39.13],
- '富阳':[119.95,30.07],
- '泰安':[117.13,36.18],
- '诸暨':[120.23,29.71],
- '郑州':[113.65,34.76],
- '哈尔滨':[126.63,45.75],
- '聊城':[115.97,36.45],
- '芜湖':[118.38,31.33],
- '唐山':[118.02,39.63],
- '平顶山':[113.29,33.75],
- '邢台':[114.48,37.05],
- '德州':[116.29,37.45],
- '济宁':[116.59,35.38],
- '荆州':[112.239741,30.335165],
- '宜昌':[111.3,30.7],
- '义乌':[120.06,29.32],
- '丽水':[119.92,28.45],
- '洛阳':[112.44,34.7],
- '秦皇岛':[119.57,39.95],
- '株洲':[113.16,27.83],
- '石家庄':[114.48,38.03],
- '莱芜':[117.67,36.19],
- '常德':[111.69,29.05],
- '保定':[115.48,38.85],
- '湘潭':[112.91,27.87],
- '金华':[119.64,29.12],
- '岳阳':[113.09,29.37],
- '长沙':[113,28.21],
- '衢州':[118.88,28.97],
- '廊坊':[116.7,39.53],
- '菏泽':[115.480656,35.23375],
- '合肥':[117.27,31.86],
- '武汉':[114.31,30.52],
- '大庆':[125.03,46.58]
-};
-
-var convertData = function (data) {
- var res = [];
- for (var i = 0; i < data.length; i++) {
- var geoCoord = geoCoordMap[data[i].name];
- if (geoCoord) {
- res.push({
- name: data[i].name,
- value: geoCoord.concat(data[i].value)
- });
- }
- }
- return res;
-};
-
-option = {
- backgroundColor: '#404a59',
- title: {
- text: '全国主要城市空气质量',
- subtext: 'data from PM25.in',
- sublink: 'http://www.pm25.in',
- left: 'center',
- textStyle: {
- color: '#fff'
- }
- },
- tooltip : {
- trigger: 'item'
- },
- legend: {
- orient: 'vertical',
- top: 'bottom',
- left: 'right',
- data:['pm2.5'],
- textStyle: {
- color: '#fff'
- }
- },
- geo: {
- map: 'china',
- roam: true,
- label: {
- show: false
- },
- itemStyle: {
- areaColor: '#323c48',
- borderColor: '#111'
- },
- emphasis: {
- itemStyle: {
- areaColor: '#2a333d'
- }
- }
- },
- series : [
- {
- name: 'pm2.5',
- type: 'scatter',
- coordinateSystem: 'geo',
- data: convertData(data),
- encode: {
- value: 2
- },
- symbolSize: function (val) {
- return val[2] / 10;
- },
- label: {
- formatter: '{b}',
- position: 'right',
- show: false
- },
- itemStyle: {
- color: '#ddb926'
- },
- emphasis: {
- label: {
- show: true
- }
- }
- },
- {
- name: 'Top 5',
- type: 'effectScatter',
- coordinateSystem: 'geo',
- data: convertData(data.sort(function (a, b) {
- return b.value - a.value;
- }).slice(0, 6)),
- encode: {
- value: 2
- },
- symbolSize: function (val) {
- return val[2] / 10;
- },
- showEffectOn: 'render',
- rippleEffect: {
- brushType: 'stroke'
- },
- hoverAnimation: true,
- label: {
- formatter: '{b}',
- position: 'right',
- show: true
- },
- itemStyle: {
- color: '#f4e925',
- shadowBlur: 10,
- shadowColor: '#333'
- },
- zlevel: 1
- }
- ]
-};
\ No newline at end of file
diff --git a/public/data/funnel-align.js b/public/data/funnel-align.js
deleted file mode 100644
index 6c84bf8..0000000
--- a/public/data/funnel-align.js
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
-title: Funnel (align)
-category: funnel
-titleCN: 漏斗图(对比)
-*/
-
-option = {
- title: {
- text: '漏斗图(对比)',
- subtext: '纯属虚构',
- left: 'left',
- top: 'bottom'
- },
- tooltip: {
- trigger: 'item',
- formatter: '{a} <br/>{b} : {c}%'
- },
- toolbox: {
- show: true,
- orient: 'vertical',
- top: 'center',
- feature: {
- dataView: {readOnly: false},
- restore: {},
- saveAsImage: {}
- }
- },
- legend: {
- orient: 'vertical',
- left: 'left',
- data: ['产品A', '产品B', '产品C', '产品D', '产品E']
- },
-
- series: [
- {
- name: '漏斗图',
- type: 'funnel',
- width: '40%',
- height: '45%',
- left: '5%',
- top: '50%',
- funnelAlign: 'right',
-
- center: ['25%', '25%'], // for pie
-
- data: [
- {value: 60, name: '产品C'},
- {value: 30, name: '产品D'},
- {value: 10, name: '产品E'},
- {value: 80, name: '产品B'},
- {value: 100, name: '产品A'}
- ]
- },
- {
- name: '金字塔',
- type: 'funnel',
- width: '40%',
- height: '45%',
- left: '5%',
- top: '5%',
- sort: 'ascending',
- funnelAlign: 'right',
-
- center: ['25%', '75%'], // for pie
-
- data: [
- {value: 60, name: '产品C'},
- {value: 30, name: '产品D'},
- {value: 10, name: '产品E'},
- {value: 80, name: '产品B'},
- {value: 100, name: '产品A'}
- ]
- },
- {
- name: '漏斗图',
- type: 'funnel',
- width: '40%',
- height: '45%',
- left: '55%',
- top: '5%',
- funnelAlign: 'left',
-
- center: ['75%', '25%'], // for pie
-
- data: [
- {value: 60, name: '产品C'},
- {value: 30, name: '产品D'},
- {value: 10, name: '产品E'},
- {value: 80, name: '产品B'},
- {value: 100, name: '产品A'}
- ]
- },
- {
- name: '金字塔',
- type: 'funnel',
- width: '40%',
- height: '45%',
- left: '55%',
- top: '50%',
- sort: 'ascending',
- funnelAlign: 'left',
-
- center: ['75%', '75%'], // for pie
-
- data: [
- {value: 60, name: '产品C'},
- {value: 30, name: '产品D'},
- {value: 10, name: '产品E'},
- {value: 80, name: '产品B'},
- {value: 100, name: '产品A'}
- ]
- }
- ]
-};
diff --git a/public/data/funnel-customize.js b/public/data/funnel-customize.js
deleted file mode 100644
index 38d49f9..0000000
--- a/public/data/funnel-customize.js
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
-title: Customized Funnel
-category: funnel
-titleCN: 漏斗图
-*/
-
-option = {
- title: {
- text: '漏斗图',
- subtext: '纯属虚构'
- },
- tooltip: {
- trigger: 'item',
- formatter: "{a} <br/>{b} : {c}%"
- },
- toolbox: {
- feature: {
- dataView: {readOnly: false},
- restore: {},
- saveAsImage: {}
- }
- },
- legend: {
- data: ['展现','点击','访问','咨询','订单']
- },
- series: [
- {
- name: '预期',
- type: 'funnel',
- left: '10%',
- width: '80%',
- label: {
- formatter: '{b}预期'
- },
- labelLine: {
- show: false
- },
- itemStyle: {
- opacity: 0.7
- },
- emphasis: {
- label: {
- position: 'inside',
- formatter: '{b}预期: {c}%'
- }
- },
- data: [
- {value: 60, name: '访问'},
- {value: 40, name: '咨询'},
- {value: 20, name: '订单'},
- {value: 80, name: '点击'},
- {value: 100, name: '展现'}
- ]
- },
- {
- name: '实际',
- type: 'funnel',
- left: '10%',
- width: '80%',
- maxSize: '80%',
- label: {
- position: 'inside',
- formatter: '{c}%',
- color: '#fff'
- },
- itemStyle: {
- opacity: 0.5,
- borderColor: '#fff',
- borderWidth: 2
- },
- emphasis: {
- label: {
- position: 'inside',
- formatter: '{b}实际: {c}%'
- }
- },
- data: [
- {value: 30, name: '访问'},
- {value: 10, name: '咨询'},
- {value: 5, name: '订单'},
- {value: 50, name: '点击'},
- {value: 80, name: '展现'}
- ],
- // Ensure outer shape will not be over inner shape when hover.
- z: 100
- }
- ]
-};
diff --git a/public/data/funnel-mutiple.js b/public/data/funnel-mutiple.js
deleted file mode 100644
index eeb802d..0000000
--- a/public/data/funnel-mutiple.js
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
-title: Multiple Funnels
-category: funnel
-titleCN: 漏斗图
-*/
-
-option = {
- title: {
- text: '漏斗图',
- subtext: '纯属虚构',
- left: 'left',
- top: 'bottom'
- },
- tooltip: {
- trigger: 'item',
- formatter: '{a} <br/>{b} : {c}%'
- },
- toolbox: {
- orient: 'vertical',
- top: 'center',
- feature: {
- dataView: {readOnly: false},
- restore: {},
- saveAsImage: {}
- }
- },
- legend: {
- orient: 'vertical',
- left: 'left',
- data: ['展现', '点击', '访问', '咨询', '订单']
- },
-
- series: [
- {
- name: '漏斗图',
- type: 'funnel',
- width: '40%',
- height: '45%',
- left: '5%',
- top: '50%',
- data: [
- {value: 60, name: '访问'},
- {value: 30, name: '咨询'},
- {value: 10, name: '订单'},
- {value: 80, name: '点击'},
- {value: 100, name: '展现'}
- ]
- },
- {
- name: '金字塔',
- type: 'funnel',
- width: '40%',
- height: '45%',
- left: '5%',
- top: '5%',
- sort: 'ascending',
- data: [
- {value: 60, name: '访问'},
- {value: 30, name: '咨询'},
- {value: 10, name: '订单'},
... 20132 lines suppressed ...
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@echarts.apache.org
For additional commands, e-mail: commits-help@echarts.apache.org