You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@echarts.apache.org by de...@apache.org on 2020/01/14 09:52:58 UTC

[incubator-echarts] branch master updated: fix #11644

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 3cc1049  fix #11644
     new 1d0e57c  Merge pull request #12045 from deqingli/sankey
3cc1049 is described below

commit 3cc1049120abfab39b8429fdb0c3d92e5a6b9a80
Author: deqingli <an...@gmail.com>
AuthorDate: Tue Jan 14 17:43:40 2020 +0800

    fix #11644
---
 src/chart/sankey/sankeyLayout.js |   7 +-
 test/sankey-horizontal.html      | 134 ---------------------------------------
 test/sankey-vertical.html        |  13 ++--
 3 files changed, 12 insertions(+), 142 deletions(-)

diff --git a/src/chart/sankey/sankeyLayout.js b/src/chart/sankey/sankeyLayout.js
index f776e53..812d188 100644
--- a/src/chart/sankey/sankeyLayout.js
+++ b/src/chart/sankey/sankeyLayout.js
@@ -87,7 +87,8 @@ function computeNodeValues(nodes) {
     zrUtil.each(nodes, function (node) {
         var value1 = sum(node.outEdges, getEdgeValue);
         var value2 = sum(node.inEdges, getEdgeValue);
-        var value = Math.max(value1, value2);
+        var nodeRawValue = node.getValue() || 0;
+        var value = Math.max(value1, value2, nodeRawValue);
         node.setLayout({value: value}, true);
     });
 }
@@ -431,12 +432,12 @@ function getEdgeValue(edge) {
     return edge.getValue();
 }
 
-function sum(array, f, orient) {
+function sum(array, cb, orient) {
     var sum = 0;
     var len = array.length;
     var i = -1;
     while (++i < len) {
-        var value = +f.call(array, array[i], orient);
+        var value = +cb.call(array, array[i], orient);
         if (!isNaN(value)) {
             sum += value;
         }
diff --git a/test/sankey-horizontal.html b/test/sankey-horizontal.html
deleted file mode 100644
index 1cc87c0..0000000
--- a/test/sankey-horizontal.html
+++ /dev/null
@@ -1,134 +0,0 @@
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-    <head>
-        <meta charset="utf-8">
-        <meta name="viewport" content="width=device-width, initial-scale=1" />
-        <script src="lib/esl.js"></script>
-        <script src="lib/config.js"></script>
-        <script src="lib/jquery.min.js"></script>
-    </head>
-    <body>
-        <style>
-            html, body, #main {
-                width: 100%;
-                height: 100%;
-                /*border: 1px solid #000;*/
-            }
-        </style>
-        <div id="main"><div>
-        <script>
-            require(['echarts'], function (echarts) {
-
-                var chart = echarts.init(document.getElementById('main'), null, {});
-
-                window.onresize = function () {
-                    chart.resize();
-                };
-
-                var testData =  {
-                    nodes: [
-                        {
-                            name: 'a'
-                        },
-                        {
-                            name: 'b'
-                        },
-                        {
-                            name: 'a1'
-                        },
-                        {
-                            name: 'b1'
-                        },
-                        {
-                            name: 'c'
-                        },
-                        {
-                            name: 'e'
-                        }
-                    ],
-                    links: [
-                        {
-                            source: 'a',
-                            target: 'a1',
-                            value: 5
-                        },
-                        {
-                            source: 'e',
-                            target: 'b',
-                            value: 3
-                        },
-                        {
-                            source: 'a',
-                            target: 'b1',
-                            value: 3
-                        },
-                        {
-                            source: 'b1',
-                            target: 'a1',
-                            value: 1
-                        },
-                        {
-                            source: 'b1',
-                            target: 'c',
-                            value: 2
-                        },
-                        {
-                            source: 'b',
-                            target: 'c',
-                            value: 1
-                        }
-                    ]
-                };
-
-                chart.setOption({
-                    color: ['#67001f', '#b2182b', '#d6604d', '#f4a582', '#fddbc7', '#d1e5f0', '#92c5de', '#4393c3', '#2166ac', '#053061'],
-                    tooltip: {
-                        trigger: 'item',
-                        triggerOn: 'mousemove'
-                    },
-                    animation: false,
-                    series: [
-                        {
-                            type: 'sankey',
-                            bottom: '10%',
-                            focusNodeAdjacency: true,
-                            data: testData.nodes,
-                            links: testData.links,
-                            label: {
-                                position: 'left'
-                            },
-                            // Used to test when the data is null whether it is work well.
-                            // data: [],
-                            // links: [],
-                            lineStyle: {
-                                normal: {
-                                    color: 'source',
-                                    curveness: 0.5
-                                }
-                            }
-                        }
-                    ]
-                });
-            });
-        </script>
-    </body>
-</html>
\ No newline at end of file
diff --git a/test/sankey-vertical.html b/test/sankey-vertical.html
index fb0ecb6..e9012fe 100644
--- a/test/sankey-vertical.html
+++ b/test/sankey-vertical.html
@@ -121,7 +121,8 @@ under the License.
                             }
                         },
                         {
-                            name: 'b'
+                            name: 'b',
+                            value: 4
                         },
                         {
                             name: 'a1'
@@ -133,7 +134,8 @@ under the License.
                             name: 'c'
                         },
                         {
-                            name: 'e'
+                            name: 'e',
+                            value: 10
                         }
                     ],
                     links: [
@@ -208,9 +210,10 @@ under the License.
 
                 var chart = testHelper.create(echarts, 'main' , {
                     title: [
-                        '1. when hover on node a1 the edge a1-a is green with opacity 0.2 and the node a is yellow with opacity 0.6',
-                        '2. when hover on edge a1-a the color is green with opacity 0.2 and the node a is yellow with opacity 0.6',
-                        '3. when hover on node a the color is yellow with opacity 0.6 and the edge a1-a is green with opacity 0.2'
+                        "1. when hover on node 'a1' the edge 'a1-a' is green with opacity 0.2 and the node 'a' is yellow with opacity 0.6.",
+                        "2. when hover on edge 'a1-a' the color is green with opacity 0.2 and the node 'a' is yellow with opacity 0.6.",
+                        "3. when hover on node 'a' the color is yellow with opacity 0.6 and the edge 'a1-a' is green with opacity 0.2.",
+                        "4. node 'e' and node 'b''s value is customized which is longer than the max sum of inEdges or outEdges."
                     ],
                     option: option,
                     height: 700


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