|  |  | 
|  | <!-- | 
|  | 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/simpleRequire.js"></script> | 
|  | <script src="lib/config.js"></script> | 
|  | <script src="lib/jquery.min.js"></script> | 
|  | <script src="lib/testHelper.js"></script> | 
|  | <link rel="stylesheet" href="lib/reset.css"/> | 
|  | </head> | 
|  | <body> | 
|  |  | 
|  | <div id="main"></div> | 
|  |  | 
|  | <script> | 
|  | require(['echarts'], function (echarts) { | 
|  |  | 
|  | window.onresize = function () { | 
|  | chart.resize(); | 
|  | }; | 
|  |  | 
|  | // Data used to test the circle | 
|  | // var data = { | 
|  | //     nodes: [ | 
|  | //         {name: 'Brazil'}, | 
|  | //         {name: 'Canada'}, | 
|  | //         {name: 'Mexico'}, | 
|  | //         {name: 'USA'}, | 
|  | //         {name: 'Portugal'}, | 
|  | //         {name: 'France'}, | 
|  | //         {name: 'Spain'}, | 
|  | //         {name: 'England'}, | 
|  | //         {name: 'Angola'}, | 
|  | //         {name: 'Senegal'}, | 
|  | //         {name: 'Morocco'}, | 
|  | //         {name: 'South Africa'}, | 
|  | //         {name: 'Mali'}, | 
|  | //         {name: 'China'}, | 
|  | //         {name: 'India'}, | 
|  | //         {name: 'Japan'} | 
|  | //     ], | 
|  | //     links: [ | 
|  | //         {source: 'Brazil', target: 'Portugal', value: 5}, | 
|  | //         {source: 'Brazil', target: 'France', value: 1}, | 
|  | //         {source: 'Brazil', target: 'Spain', value: 1}, | 
|  | //         {source: 'Brazil', target: 'England', value: 1}, | 
|  | //         {source: 'Canada', target: 'Portugal', value: 1}, | 
|  | //         {source: 'Canada', target: 'France', value: 5}, | 
|  | //         {source: 'Canada', target: 'England', value: 1}, | 
|  | //         {source: 'Mexico', target: 'Portugal', value: 1}, | 
|  | //         {source: 'Mexico', target: 'France', value: 1}, | 
|  | //         {source: 'Mexico', target: 'Spain', value: 5}, | 
|  | //         {source: 'Mexico', target: 'England', value: 1}, | 
|  | //         {source: 'USA', target: 'Portugal', value: 1}, | 
|  | //         {source: 'USA', target: 'France', value: 1}, | 
|  | //         {source: 'USA', target: 'Spain', value: 1}, | 
|  | //         {source: 'USA', target: 'England', value: 5}, | 
|  | //         {source: 'Portugal', target: 'Angola', value: 2}, | 
|  | //         {source: 'Portugal', target: 'Senegal', value: 1}, | 
|  | //         {source:'Portugal', target: 'Morocco', value: 1}, | 
|  | //         {source: 'Portugal', target: 'South Africa', value: 3}, | 
|  | //         {source: 'France', target: 'Angola', value: 1}, | 
|  | //         {source: 'France', target: 'Senegal', value: 3}, | 
|  | //         {source: 'France', target: 'Mali', value: 3}, | 
|  | //         {source: 'France', target: 'Morocco', value: 3}, | 
|  | //         {source: 'France', target: 'South Africa', value: 1}, | 
|  | //         {source: 'Spain', target: 'Senegal', value: 1}, | 
|  | //         {source: 'Spain', target: 'Morocco', value: 3}, | 
|  | //         {source: 'Spain', target: 'South Africa', value: 1}, | 
|  | //         {source: 'England', target: 'Angola', value: 1}, | 
|  | //         {source: 'England', target: 'Senegal', value: 1}, | 
|  | //         {source: 'England', target: 'Morocco', value: 2}, | 
|  | //         {source: 'England', target: 'South Africa', value: 7}, | 
|  | //         {source: 'South Africa', target: 'China', value: 5}, | 
|  | //         {source: 'South Africa', target: 'India', value: 1}, | 
|  | //         {source: 'South Africa', target: 'Japan', value: 3}, | 
|  | //         {source: 'Angola', target: 'China', value: 5}, | 
|  | //         {source: 'Angola', target: 'India', value: 1}, | 
|  | //         {source: 'Angola', target: 'Japan', value: 3}, | 
|  | //         {source: 'Senegal', target: 'China', value: 5}, | 
|  | //         {source: 'Senegal', target: 'India', value: 1}, | 
|  | //         {source: 'Senegal', target: 'Japan', value: 3}, | 
|  | //         {source: 'Mali', target: 'China', value: 5}, | 
|  | //         {source: 'Mali', target: 'India', value: 1}, | 
|  | //         {source: 'Mali', target: 'Japan', value: 3}, | 
|  | //         {source: 'Morocco', target: 'China', value: 5}, | 
|  | //         {source: 'Morocco', target: 'India', value: 1}, | 
|  | //         {source: 'Morocco', target: 'Japan', value: 3} | 
|  | //     ] | 
|  | // }; | 
|  |  | 
|  | var testData =  { | 
|  | nodes: [ | 
|  | { | 
|  | name: 'a', | 
|  | emphasis: { | 
|  | itemStyle: { | 
|  | color: 'yellow', | 
|  | opacity: 0.6 | 
|  | } | 
|  | } | 
|  | }, | 
|  | { | 
|  | name: 'b', | 
|  | value: 4 | 
|  | }, | 
|  | { | 
|  | name: 'a1' | 
|  | }, | 
|  | { | 
|  | name: 'b1' | 
|  | }, | 
|  | { | 
|  | name: 'c' | 
|  | }, | 
|  | { | 
|  | name: 'e', | 
|  | value: 10 | 
|  | } | 
|  | ], | 
|  | links: [ | 
|  | { | 
|  | source: 'a', | 
|  | target: 'a1', | 
|  | value: 5, | 
|  | emphasis: { | 
|  | lineStyle: { | 
|  | color: 'green', | 
|  | opacity: 0.2 | 
|  | } | 
|  | } | 
|  | }, | 
|  | { | 
|  | 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 | 
|  | } | 
|  | ] | 
|  | }; | 
|  |  | 
|  | var option = { | 
|  | color: ['#67001f', '#b2182b', '#d6604d', '#f4a582', '#fddbc7', '#d1e5f0', '#92c5de', '#4393c3', '#2166ac', '#053061'], | 
|  | tooltip: { | 
|  | trigger: 'item', | 
|  | triggerOn: 'mousemove', | 
|  | formatter: function (params) { | 
|  | return params.name + ': ' + params.value; | 
|  | } | 
|  | }, | 
|  | animation: false, | 
|  | series: [ | 
|  | { | 
|  | type: 'sankey', | 
|  | bottom: '10%', | 
|  | focusNodeAdjacency: 'allEdges', | 
|  | data: testData.nodes, | 
|  | links: testData.links, | 
|  | orient: 'vertical', | 
|  | label: { | 
|  | position: 'top' | 
|  | }, | 
|  | lineStyle: { | 
|  | normal: { | 
|  | color: 'source' | 
|  | } | 
|  | } | 
|  | } | 
|  | ] | 
|  | }; | 
|  |  | 
|  | 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.", | 
|  | "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 | 
|  | }); | 
|  | }); | 
|  | </script> | 
|  | </body> | 
|  | </html> |