You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@echarts.apache.org by su...@apache.org on 2020/09/15 08:51:09 UTC

[incubator-echarts] branch next updated (9be4a39 -> 85c9b4c)

This is an automated email from the ASF dual-hosted git repository.

sushuang pushed a change to branch next
in repository https://gitbox.apache.org/repos/asf/incubator-echarts.git.


    from 9be4a39  Merge pull request #13271 from apache/custom-shape-morphing
     new 752f511  chore: fix eslint, add console warn, enhance example.
     new d312b1c  Merge branch 'next' of github.com:apache/incubator-echarts into next
     new 85c9b4c  chore: tweak log.

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 src/chart/custom.ts              |  11 +-
 src/chart/heatmap/HeatmapView.ts |   8 +-
 src/util/log.ts                  |   6 +
 test/custom-transition2.html     | 296 ++-------------------------------------
 test/data-transform-ecStat.html  |   7 +-
 5 files changed, 33 insertions(+), 295 deletions(-)


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@echarts.apache.org
For additional commands, e-mail: commits-help@echarts.apache.org


[incubator-echarts] 03/03: chore: tweak log.

Posted by su...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

sushuang pushed a commit to branch next
in repository https://gitbox.apache.org/repos/asf/incubator-echarts.git

commit 85c9b4c4b6faa5aef8694b8f52d1b36e8e0744c5
Author: 100pah <su...@gmail.com>
AuthorDate: Tue Sep 15 16:50:10 2020 +0800

    chore: tweak log.
---
 src/chart/custom.ts | 6 +++---
 src/util/log.ts     | 6 ++++++
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/chart/custom.ts b/src/chart/custom.ts
index 7cac6ea..0c645f8 100644
--- a/src/chart/custom.ts
+++ b/src/chart/custom.ts
@@ -19,7 +19,7 @@
 
 import {
     hasOwn, assert, isString, retrieve2, retrieve3, defaults, each,
-    keys, isArrayLike, bind, logError, isFunction, eqNaN
+    keys, isArrayLike, bind, isFunction, eqNaN
 } from 'zrender/src/core/util';
 import * as graphicUtil from '../util/graphic';
 import { setDefaultStateProxy, enableHoverEmphasis } from '../util/states';
@@ -81,7 +81,7 @@ import {
 import Transformable from 'zrender/src/core/Transformable';
 import { ItemStyleProps } from '../model/mixin/itemStyle';
 import { cloneValue } from 'zrender/src/animation/Animator';
-import { warn } from '../util/log';
+import { warn, error } from '../util/log';
 import { morphPath } from 'zrender/src/tool/morphPath';
 
 
@@ -1571,7 +1571,7 @@ function createOrUpdateItem(
 function applyShapeMorphingAnimation(oldEl: Element, el: Element, seriesModel: SeriesModel, dataIndex: number) {
     if (!((oldEl instanceof graphicUtil.Path) && (el instanceof graphicUtil.Path))) {
         if (__DEV__) {
-            logError('`morph` can only be applied on two paths.');
+            error('`morph` can only be applied on two paths.');
         }
         return;
     }
diff --git a/src/util/log.ts b/src/util/log.ts
index 4e443f6..527051c 100644
--- a/src/util/log.ts
+++ b/src/util/log.ts
@@ -40,6 +40,12 @@ export function warn(str: string) {
     }
 }
 
+export function error(str: string) {
+    if (hasConsole) {
+        console.error(ECHARTS_PREFIX + str);
+    }
+}
+
 export function deprecateLog(str: string) {
     if (__DEV__) {
         if (storedLogs[str]) {  // Not display duplicate message.


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@echarts.apache.org
For additional commands, e-mail: commits-help@echarts.apache.org


[incubator-echarts] 01/03: chore: fix eslint, add console warn, enhance example.

Posted by su...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

sushuang pushed a commit to branch next
in repository https://gitbox.apache.org/repos/asf/incubator-echarts.git

commit 752f511ac660f784c6ccf419d6a0d12a3c55cbc5
Author: 100pah <su...@gmail.com>
AuthorDate: Wed Sep 9 17:06:40 2020 +0800

    chore: fix eslint, add console warn, enhance example.
---
 src/chart/custom.ts              |   8 +-
 src/chart/heatmap/HeatmapView.ts |   8 +-
 test/custom-transition2.html     | 296 ++-------------------------------------
 test/data-transform-ecStat.html  |   7 +-
 4 files changed, 25 insertions(+), 294 deletions(-)

diff --git a/src/chart/custom.ts b/src/chart/custom.ts
index 5940580..6c9149b 100644
--- a/src/chart/custom.ts
+++ b/src/chart/custom.ts
@@ -18,7 +18,7 @@
 */
 
 import {
-    hasOwn, assert, isString, retrieve2, retrieve3, defaults, each, keys, isArrayLike, bind
+    hasOwn, assert, isString, retrieve2, retrieve3, defaults, each, keys, isArrayLike, bind, eqNaN
 } from 'zrender/src/core/util';
 import * as graphicUtil from '../util/graphic';
 import { setDefaultStateProxy, enableHoverEmphasis } from '../util/states';
@@ -80,6 +80,7 @@ import {
 import Transformable from 'zrender/src/core/Transformable';
 import { ItemStyleProps } from '../model/mixin/itemStyle';
 import { cloneValue } from 'zrender/src/animation/Animator';
+import { warn } from '../util/log';
 
 
 const inner = makeInner<{
@@ -1004,6 +1005,11 @@ const customDuringAPI = {
         }
         const style = (tmpDuringScope.el as Displayable).style;
         if (style) {
+            if (__DEV__) {
+                if (eqNaN(val)) {
+                    warn('style.' + key + ' must not be assigned with NaN.');
+                }
+            }
             style[key] = val;
             tmpDuringScope.isStyleDirty = true;
         }
diff --git a/src/chart/heatmap/HeatmapView.ts b/src/chart/heatmap/HeatmapView.ts
index c7c08c3..155e6b6 100644
--- a/src/chart/heatmap/HeatmapView.ts
+++ b/src/chart/heatmap/HeatmapView.ts
@@ -215,8 +215,12 @@ class HeatmapView extends ChartView {
                 const dataDimY = data.get(dataDims[1], idx);
 
                 // Ignore empty data and out of extent data
-                if (isNaN(data.get(dataDims[2], idx) as number) || dataDimX < xAxisExtent[0] || dataDimX > xAxisExtent[1]
-                    || dataDimY < yAxisExtent[0] || dataDimY > yAxisExtent[1]) {
+                if (isNaN(data.get(dataDims[2], idx) as number)
+                    || dataDimX < xAxisExtent[0]
+                    || dataDimX > xAxisExtent[1]
+                    || dataDimY < yAxisExtent[0]
+                    || dataDimY > yAxisExtent[1]
+                ) {
                     continue;
                 }
 
diff --git a/test/custom-transition2.html b/test/custom-transition2.html
index f9a8338..f67be44 100644
--- a/test/custom-transition2.html
+++ b/test/custom-transition2.html
@@ -37,7 +37,6 @@ under the License.
 
 
 
-        <div id="main-cluster-step"></div>
         <div id="during-case-continue"></div>
         <div id="during-case-get-curr"></div>
         <div id="during-case-partial-change"></div>
@@ -52,287 +51,6 @@ under the License.
 
 
 
-        <script>
-        require(['echarts'], function (echarts) {
-
-            // output from echarts-stat
-            var originalData = [[3.275154, 2.957587], [-3.344465, 2.603513], [0.355083, -3.376585], [1.852435, 3.547351], [-2.078973, 2.552013], [-0.993756, -0.884433], [2.682252, 4.007573], [-3.087776, 2.878713], [-1.565978, -1.256985], [2.441611, 0.444826], [-0.659487, 3.111284], [-0.459601, -2.618005], [2.17768, 2.387793], [-2.920969, 2.917485], [-0.028814, -4.168078], [3.625746, 2.119041], [-3.912363, 1.325108], [-0.551694, -2.814223], [2.855808, 3.483301], [-3.594448, 2.856651], [0. [...]
-            var allStepsData = [{
-                "clusterAssment":[[0,11.897518219790832],[1,0.6802138252635731],[0,13.390339526159327],[0,11.752691481115326],[1,1.3537646443055726],[0,6.098722748100828],[0,16.778555382575323],[1,0.2201162719580729],[0,9.90729312281183],[0,1.523748448197578],[1,5.280700404231374],[0,10.67860098859633],[0,5.781994590986328],[1,0.16789088367317268],[0,20.463190272942075],[0,9.485661047651329],[1,4.936282405816574],[0,12.13409250050333],[0,13.56634178686933],[1,0.6393460451944728],[0,7.153 [...]
-                "centroids":[[1.23710375,0.17480612499999998],[-2.94737575,3.3263781000000003]],
-                "pointsInCluster":[[[3.275154,2.957587],[0.355083,-3.376585],[1.852435,3.547351],[-0.993756,-0.884433],[2.682252,4.007573],[-1.565978,-1.256985],[2.441611,0.444826],[-0.459601,-2.618005],[2.17768,2.387793],[-0.028814,-4.168078],[3.625746,2.119041],[-0.551694,-2.814223],[2.855808,3.483301],[0.421993,-2.372646],[1.650821,3.407572],[-0.718809,-2.492514],[4.513623,3.841029],[-0.656297,-1.449872],[1.919901,4.439368],[-1.576936,-2.977622],[3.598143,1.97597],[-1.79108,-2.184517] [...]
-            }, {
-                "clusterAssment":[[0,0.14546105001184495],[1,0.6802138252635731],[2,1.0218458213990822],[0,1.3454875984267451],[1,1.3537646443055726],[2,3.871675185832783],[0,0.8372599513642446],[1,0.2201162719580729],[2,3.538090574163784],[0,7.440811598535447],[1,5.280700404231374],[2,0.025667439393882528],[0,1.1194652917418453],[1,0.16789088367317268],[2,2.117342449150383],[0,1.4963520949744444],[1,4.936282405816574],[2,0.00976749868738251],[0,0.13245384486784495],[1,0.6393460451944728 [...]
-                "centroids":[[2.93386365,3.12782785],[-2.94737575,3.3263781000000003],[-0.45965614999999993,-2.7782156000000002]],
-                "pointsInCluster":[[[3.275154,2.957587],[1.852435,3.547351],[2.682252,4.007573],[2.441611,0.444826],[2.17768,2.387793],[3.625746,2.119041],[2.855808,3.483301],[1.650821,3.407572],[4.513623,3.841029],[1.919901,4.439368],[3.598143,1.97597],[3.914654,3.559303],[1.148946,3.345138],[2.629062,3.535831],[4.606999,3.510312],[3.121904,2.173988],[4.376754,4.863579],[3.997787,2.518662],[1.327224,3.358778],[2.960769,3.079555]],[[-3.344465,2.603513],[-2.078973,2.552013],[-3.087776,2.8 [...]
-            }, {
-                "clusterAssment":[[0,0.14546105001184495],[1,0.6802138252635731],[3,0.00026405916653086725],[0,1.3454875984267451],[1,1.3537646443055726],[2,2.0268449766387184],[0,0.8372599513642446],[1,0.2201162719580729],[2,1.2853602661590824],[0,7.440811598535447],[1,5.280700404231374],[2,0.544202924578992],[0,1.1194652917418453],[1,0.16789088367317268],[3,0.7997316188825317],[0,1.4963520949744444],[1,4.936282405816574],[2,0.5924514081707193],[0,0.13245384486784495],[1,0.6393460451944 [...]
-                "centroids":[[2.93386365,3.12782785],[-2.94737575,3.3263781000000003],[-1.1261616363636364,-2.3019356363636363],[0.3549616666666667,-3.3603355555555554]],
-                "pointsInCluster":[[[3.275154,2.957587],[1.852435,3.547351],[2.682252,4.007573],[2.441611,0.444826],[2.17768,2.387793],[3.625746,2.119041],[2.855808,3.483301],[1.650821,3.407572],[4.513623,3.841029],[1.919901,4.439368],[3.598143,1.97597],[3.914654,3.559303],[1.148946,3.345138],[2.629062,3.535831],[4.606999,3.510312],[3.121904,2.173988],[4.376754,4.863579],[3.997787,2.518662],[1.327224,3.358778],[2.960769,3.079555]],[[-3.344465,2.603513],[-2.078973,2.552013],[-3.087776,2.8 [...]
-            }, {
-                "clusterAssment":[[4,0.7351095338720867],[1,0.6802138252635731],[3,0.00026405916653086725],[4,0.6574887550938013],[1,1.3537646443055726],[2,2.0268449766387184],[4,0.20236519991694363],[1,0.2201162719580729],[2,1.2853602661590824],[0,4.081776185534029],[1,5.280700404231374],[2,0.544202924578992],[4,1.6054276274352302],[1,0.16789088367317268],[3,0.7997316188825317],[0,0.003668511655694446],[1,4.936282405816574],[2,0.5924514081707193],[4,0.04268877169580105],[1,0.63934604519 [...]
-                "centroids":[[3.565365,2.1237998333333334],[-2.94737575,3.3263781000000003],[-1.1261616363636364,-2.3019356363636363],[0.3549616666666667,-3.3603355555555554],[2.6632202142857144,3.5581255714285716]],
-                "pointsInCluster":[[[2.441611,0.444826],[3.625746,2.119041],[3.598143,1.97597],[4.606999,3.510312],[3.121904,2.173988],[3.997787,2.518662]],[[-3.344465,2.603513],[-2.078973,2.552013],[-3.087776,2.878713],[-0.659487,3.111284],[-2.920969,2.917485],[-3.912363,1.325108],[-3.594448,2.856651],[-2.082902,3.384412],[-4.822011,4.607049],[-3.287749,3.918836],[-3.977329,4.900932],[-1.910108,4.166946],[-2.113864,3.548172],[-1.640717,2.990517],[-4.366462,4.023316],[-4.025139,4.65231], [...]
-            }, {
-                "clusterAssment":[[4,0.7351095338720867],[5,0.5255085113116279],[3,0.00026405916653086725],[4,0.6574887550938013],[1,0.8136916243347753],[2,2.0268449766387184],[4,0.20236519991694363],[5,0.41325733727555103],[2,1.2853602661590824],[0,4.081776185534029],[1,1.3060240218397752],[2,0.544202924578992],[4,1.6054276274352302],[5,0.57628243638732],[3,0.7997316188825317],[0,0.003668511655694446],[5,3.9604024281532437],[2,0.5924514081707193],[4,0.04268877169580105],[5,0.18604508600 [...]
-                "centroids":[[3.565365,2.1237998333333334],[-1.7657655714285714,3.3979401428571427],[-1.1261616363636364,-2.3019356363636363],[0.3549616666666667,-3.3603355555555554],[2.6632202142857144,3.5581255714285716],[-3.5836273846153848,3.2878446923076927]],
-                "pointsInCluster":[[[2.441611,0.444826],[3.625746,2.119041],[3.598143,1.97597],[4.606999,3.510312],[3.121904,2.173988],[3.997787,2.518662]],[[-2.078973,2.552013],[-0.659487,3.111284],[-2.082902,3.384412],[-1.910108,4.166946],[-2.113864,3.548172],[-1.640717,2.990517],[-1.874308,4.032237]],[[-0.993756,-0.884433],[-1.565978,-1.256985],[-0.459601,-2.618005],[-0.551694,-2.814223],[-0.718809,-2.492514],[-0.656297,-1.449872],[-1.576936,-2.977622],[-1.79108,-2.184517],[-1.226597, [...]
-            }];
-
-            var colorAll = [
-                '#bbb', '#37A2DA', '#e06343', '#37a354', '#b55dba', '#b5bd48', '#8378EA', '#96BFFF'
-            ];
-            var ANIMATION_DURATION_UPDATE = 1500;
-
-            // probably we should PR to echarts-stat to make the result directly.
-            function preprocessRawData(originalData, allStepsData) {
-                var pointIdxMap = {};
-                var result = [];
-
-                function getKey(point) {
-                    return point[0] + '_' + point[1];
-                }
-
-                var stepResult = {
-                    points: []
-                };
-                result.push(stepResult);
-                for (var i = 0; i < originalData.length; i++) {
-                    var point = originalData[i];
-                    var key = getKey(point);
-                    if (pointIdxMap[key] != null) {
-                        // It's not correct to throw error but for
-                        // simplicit in this certain data we just do it.
-                        throw Error(key);
-                    }
-                    var ptsIdx = pointIdxMap[key] = stepResult.points.length;
-                    stepResult.points[ptsIdx] = [point[0], point[1], 0];
-                }
-
-                for (var stepIdx = 0; stepIdx < allStepsData.length; stepIdx++) {
-                    var stepData = allStepsData[stepIdx];
-                    var ptsInCluster = stepData.pointsInCluster;
-                    var newestClusterIdx = ptsInCluster.length - 1;
-
-                    var stepResult = {
-                        centroids: stepData.centroids,
-                        points: [],
-                        newestClusterIndex: newestClusterIdx,
-                        newestClusterMaxDistance: -Infinity
-                    };
-                    result.push(stepResult);
-
-                    var newestCenter = stepData.centroids[newestClusterIdx];
-                    var newestClusterPoints = ptsInCluster[newestClusterIdx];
-
-                    for (var cIdx = 0; cIdx < ptsInCluster.length; cIdx++) {
-                        var clusterPoints = ptsInCluster[cIdx];
-                        for (var i = 0; i < clusterPoints.length; i++) {
-                            var point = clusterPoints[i];
-                            var key = getKey(point);
-                            var ptsIdx = pointIdxMap[key];
-                            if (ptsIdx == null) {
-                                throw Error(key);
-                            }
-                            stepResult.points[ptsIdx] = [point[0], point[1], cIdx, newestClusterIdx];
-
-                            if (cIdx === newestClusterIdx) {
-                                var dx = newestCenter[0] - point[0];
-                                var dy = newestCenter[1] - point[1];
-                                var dist = Math.pow(dx * dx + dy * dy, 0.5);
-                                if (dist > stepResult.newestClusterMaxDistance) {
-                                    stepResult.newestClusterMaxDistance = dist;
-                                }
-                            }
-                        }
-                    }
-                }
-                return result;
-            }
-
-            function renderItemPoint(params, api) {
-                var coord = api.coord([api.value(0), api.value(1)]);
-                var clusterIdx = api.value(2);
-                var isNewCluster = clusterIdx === api.value(3);
-
-                var extra = {
-                    transition: []
-                };
-
-                var contentColor = colorAll[clusterIdx];
-                addColorTransition(extra, contentColor, 'content');
-
-                return {
-                    type: 'circle',
-                    x: coord[0],
-                    y: coord[1],
-                    shape: {
-                        cx: 0,
-                        cy: 0,
-                        r: 10
-                    },
-                    extra: extra,
-                    style: {
-                        fill: contentColor,
-                        stroke: '#333',
-                        lineWidth: 1,
-                        shadowColor: contentColor,
-                        shadowBlur: isNewCluster ? 12 : 0,
-                        transition: 'shadowBlur'
-                    },
-                    during: function (apiDuring) {
-                        var currContentColor = getColorInTransition(apiDuring, 'content');
-                        apiDuring.setStyle('fill', currContentColor);
-                    }
-                };
-            }
-
-            function addColorTransition(shape, targetColor, key) {
-                var colorRGBA = echarts.color.parse(targetColor);
-                shape[key + 'R'] = colorRGBA[0];
-                shape[key + 'G'] = colorRGBA[1];
-                shape[key + 'B'] = colorRGBA[2];
-                shape[key + 'A'] = colorRGBA[3];
-                var transition = shape.transition || (shape.transition = []);
-                transition.push(key + 'R', key + 'G', key + 'B', key + 'A');
-            }
-
-            function getColorInTransition(apiDuring, key) {
-                var colorArr = [
-                    apiDuring.getExtra(key + 'R'),
-                    apiDuring.getExtra(key + 'G'),
-                    apiDuring.getExtra(key + 'B'),
-                    apiDuring.getExtra(key + 'A')
-                ];
-                return echarts.color.stringify(colorArr, 'rgba');
-            }
-
-            function renderBoundary(params, api) {
-                var xVal = api.value(0);
-                var yVal = api.value(1);
-                var maxDist = api.value(2);
-                var center = api.coord([xVal, yVal]);
-                var size = api.size([maxDist, maxDist]);
-                var renderNumberStar;
-
-                return {
-                    type: 'ellipse',
-                    shape: {
-                        cx: isNaN(center[0]) ? 0 : center[0],
-                        cy: isNaN(center[1]) ? 0 : center[1],
-                        rx: isNaN(size[0]) ? 0 : size[0] + 15,
-                        ry: isNaN(size[1]) ? 0 : size[1] + 15
-                    },
-                    extra: {
-                        renderNumber: ++renderNumber,
-                        transition: 'renderNumber'
-                    },
-                    style: {
-                        fill: null,
-                        stroke: 'rgba(0,0,0,0.2)',
-                        lineDash: [4, 4],
-                        lineWidth: 4
-                    },
-                    during: function (apiDuring) {
-                        var currNum = apiDuring.getExtra('renderNumber');
-                        !renderNumberStar && (renderNumberStar = currNum);
-                        apiDuring.setStyle('opacity', (currNum - renderNumberStar) / (renderNumber - renderNumberStar));
-                    }
-                };
-            }
-
-            function makeStepOption(option, stepResult) {
-                var centroids = stepResult.centroids || [];
-                var points = stepResult.points;
-                var maxDist = stepResult.newestClusterMaxDistance;
-                var newCluIdx = stepResult.newestClusterIndex;
-
-                option.options.push({
-                    series: [{
-                        type: 'custom',
-                        encode: {
-                            tooltip: [0, 1]
-                        },
-                        renderItem: renderItemPoint,
-                        data: points
-                    }, {
-                        type: 'custom',
-                        renderItem: renderBoundary,
-                        animationDuration: 3000,
-                        silent: true,
-                        data: [
-                            [
-                                (centroids[newCluIdx] || [])[0],
-                                (centroids[newCluIdx] || [])[1],
-                                maxDist
-                            ]
-                        ]
-                    }]
-                });
-            }
-
-            var renderNumber = 0;
-
-            var option = {
-                timeline: {
-                    top: 'center',
-                    right: 50,
-                    height: 300,
-                    width: 10,
-                    inverse: true,
-                    autoPlay: false,
-                    playInterval: 2500,
-                    symbol: 'none',
-                    orient: 'vertical',
-                    axisType: 'category',
-                    label: {
-                        formatter: 'step {value}',
-                        position: 10
-                    },
-                    checkpointStyle: {
-                        color: '#555',
-                        borderWidth: 0,
-                        animationDuration: ANIMATION_DURATION_UPDATE
-                    },
-                    data: []
-                },
-                baseOption: {
-                    animationDurationUpdate: ANIMATION_DURATION_UPDATE,
-                    tooltip: {
-                    },
-                    xAxis: {
-                        type: 'value'
-                    },
-                    yAxis: {
-                        type: 'value'
-                    },
-                    series: [{
-                        type: 'scatter'
-                    }]
-                },
-                options: []
-            };
-
-            var processedData = preprocessRawData(originalData, allStepsData);
-            for (var i = 0; i < processedData.length; i++) {
-                var stepResult = processedData[i];
-                makeStepOption(option, stepResult);
-                option.timeline.data.push(i + '');
-            }
-
-            var chart = testHelper.create(echarts, 'main-cluster-step', {
-                title: [
-                    'Cluster algorithm visualization'
-                ],
-                height: 600,
-                option: option
-            });
-        });
-        </script>
-
-
-
-
 
 
 
@@ -368,7 +86,7 @@ under the License.
                     coordinateSystem: 'none',
                     renderItem: renderItem,
                     animationDuration: 3000,
-                    animationDurationUpdate: 6000,
+                    animationDurationUpdate: 3000,
                     data: [[baseX, baseY]]
                 }]
             };
@@ -411,7 +129,7 @@ under the License.
         require(['echarts'], function (echarts) {
 
             function renderItem(params, api) {
-                var renderNumberStar;
+                var renderNumberStart;
                 return {
                     type: 'circle',
                     shape: {
@@ -428,8 +146,10 @@ under the License.
                     },
                     during: function (apiDuring) {
                         var currNum = apiDuring.getExtra('renderNumber');
-                        !renderNumberStar && (renderNumberStar = currNum);
-                        apiDuring.setStyle('opacity', (currNum - renderNumberStar) / (renderNumber - renderNumberStar));
+                        !renderNumberStart && (renderNumberStart = currNum);
+                        var opacity = (currNum - renderNumberStart) / (renderNumber - renderNumberStart);
+                        isNaN(opacity) && (opacity = 1);
+                        apiDuring.setStyle('opacity', opacity);
                     }
                 };
             }
@@ -445,7 +165,7 @@ under the License.
                     coordinateSystem: 'none',
                     renderItem: renderItem,
                     animationDuration: 3000,
-                    animationDurationUpdate: 10000,
+                    animationDurationUpdate: 1000,
                     data: [[baseX, baseY]]
                 }]
             };
@@ -464,7 +184,7 @@ under the License.
                         chart.setOption({
                             series: {
                                 id: 'a',
-                                data: [[baseX += 20, baseY]]
+                                data: [[baseX += 40, baseY]]
                             }
                         });
                     }
diff --git a/test/data-transform-ecStat.html b/test/data-transform-ecStat.html
index e05ddbc..7663e3b 100644
--- a/test/data-transform-ecStat.html
+++ b/test/data-transform-ecStat.html
@@ -27,8 +27,9 @@ under the License.
         <script src="lib/facePrint.js"></script>
         <script src="lib/testHelper.js"></script>
         <script src="../dist/echarts.js"></script>
-        <script src="lib/ecStat-1.1.1.min.js"></script>
-        <script src="lib/ecStatTransform.js"></script>
+        <script src="../../echarts-stat/dist/ecStat.js"></script>
+        <!-- <script src="lib/ecStat-1.1.1.min.js"></script> -->
+        <!-- <script src="lib/ecStatTransform.js"></script> -->
         <!-- <script src="ut/lib/canteen.js"></script> -->
         <link rel="stylesheet" href="lib/reset.css" />
     </head>
@@ -45,7 +46,7 @@ under the License.
 
         <script>
 
-            echarts.registerTransform(ecStatTransform(ecStat).regression);
+            echarts.registerTransform(ecStat.transform.regression);
 
             var rawData = [
                 [1, 4862.4],


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@echarts.apache.org
For additional commands, e-mail: commits-help@echarts.apache.org


[incubator-echarts] 02/03: Merge branch 'next' of github.com:apache/incubator-echarts into next

Posted by su...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

sushuang pushed a commit to branch next
in repository https://gitbox.apache.org/repos/asf/incubator-echarts.git

commit d312b1c724d7a6cfc102b9e2933a58b79a851454
Merge: 752f511 9be4a39
Author: 100pah <su...@gmail.com>
AuthorDate: Tue Sep 15 16:48:02 2020 +0800

    Merge branch 'next' of github.com:apache/incubator-echarts into next
    
    # Conflicts:
    #	src/chart/custom.ts

 src/chart/custom.ts             | 103 +++++++++---
 test/custom-hexbin.html         | 143 ++++++++++-------
 test/custom-shape-morphing.html | 302 +++++++++++++++++++++++++++++++++++
 test/data/usa.json              |  54 +++++++
 test/map-nameProperty.html      | 341 +++++++++++++++++-----------------------
 5 files changed, 677 insertions(+), 266 deletions(-)

diff --cc src/chart/custom.ts
index 6c9149b,038602f..7cac6ea
--- a/src/chart/custom.ts
+++ b/src/chart/custom.ts
@@@ -18,7 -18,7 +18,8 @@@
  */
  
  import {
-     hasOwn, assert, isString, retrieve2, retrieve3, defaults, each, keys, isArrayLike, bind, eqNaN
 -    hasOwn, assert, isString, retrieve2, retrieve3, defaults, each, keys, isArrayLike, bind, logError, isFunction
++    hasOwn, assert, isString, retrieve2, retrieve3, defaults, each,
++    keys, isArrayLike, bind, logError, isFunction, eqNaN
  } from 'zrender/src/core/util';
  import * as graphicUtil from '../util/graphic';
  import { setDefaultStateProxy, enableHoverEmphasis } from '../util/states';
@@@ -80,7 -80,7 +81,8 @@@ import 
  import Transformable from 'zrender/src/core/Transformable';
  import { ItemStyleProps } from '../model/mixin/itemStyle';
  import { cloneValue } from 'zrender/src/animation/Animator';
 +import { warn } from '../util/log';
+ import { morphPath } from 'zrender/src/tool/morphPath';
  
  
  const inner = makeInner<{


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@echarts.apache.org
For additional commands, e-mail: commits-help@echarts.apache.org