|  | 
 | <!-- | 
 | 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> |