<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <meta name="robots" content="noindex, nofollow">
    <title>ECharts2 · Example</title>

    <link rel="shortcut icon" href="../asset/ico/favicon.png">

    <link href="../asset/css/font-awesome.min.css" rel="stylesheet">
    <link href="../asset/css/bootstrap.css" rel="stylesheet">
    <link href="../asset/css/carousel.css" rel="stylesheet">
    <link href="../asset/css/echartsHome.css" rel="stylesheet">
    <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->

    <script src="./www/js/echarts.js"></script>
    <script src="../asset/js/codemirror.js"></script>
    <script src="../asset/js/javascript.js"></script>

    <link href="../asset/css/codemirror.css" rel="stylesheet">
    <link href="../asset/css/monokai.css" rel="stylesheet">
</head>

<body>
    <!-- Fixed navbar -->
    <div class="navbar navbar-default navbar-fixed-top" role="navigation" id="head"></div>


    <div class="container-fluid">
        <div class="row-fluid example">
            <div id="sidebar-code" class="col-md-4">
                <div class="well sidebar-nav">
                    <div class="nav-header"><a href="#" onclick="autoResize()" class="glyphicon glyphicon-resize-full" id ="icon-resize" ></a>option</div>
                    <textarea id="code" name="code">
option = {
    title : {
        text: '德国队效力联盟',
        x:'right',
        y:'bottom'
    },
    tooltip : {
        trigger: 'item',
        formatter: function (params) {
            if (params.indicator2) {    // is edge
                return params.indicator2 + ' ' + params.name + ' ' + params.indicator;
            } else {    // is node
                return params.name
            }
        }
    },
    toolbox: {
        show : true,
        feature : {
            restore : {show: true},
            magicType: {show: true, type: ['force', 'chord']},
            saveAsImage : {show: true}
        }
    },
    legend: {
        x: 'left',
        data:['阿森纳', '拜仁慕尼黑', '多特蒙德']
    },
    series : [
        {
            type:'chord',
            sort : 'ascending',
            sortSub : 'descending',
            showScale : false,
            itemStyle : {
                normal : {
                    label : {
                        rotate : true
                    }
                }
            },
            // 使用 nodes links 表达和弦图
            nodes: [
                {name:'默特萨克'},
                {name:'厄齐尔'},
                {name:'波多尔斯基'},
                {name:'诺伊尔'},
                {name:'博阿滕'},
                {name:'施魏因施泰格'},
                {name:'拉姆'},
                {name:'克罗斯'},
                {name:'穆勒'},
                {name:'格策'},
                {name:'胡梅尔斯'},
                {name:'魏登费勒'},
                {name:'杜尔姆'},
                {name:'格罗斯克罗伊茨'},
                {name:'阿森纳'},
                {name:'拜仁慕尼黑'},
                {name:'多特蒙德'}
            ],
            links: [
                {source: '阿森纳', target: '默特萨克', weight: 0.9, name: '效力'},
                {source: '阿森纳', target: '厄齐尔', weight: 0.9, name: '效力'},
                {source: '阿森纳', target: '波多尔斯基', weight: 0.9, name: '效力'},
                {source: '拜仁慕尼黑', target: '诺伊尔', weight: 0.9, name: '效力'},
                {source: '拜仁慕尼黑', target: '博阿滕', weight: 0.9, name: '效力'},
                {source: '拜仁慕尼黑', target: '施魏因施泰格', weight: 0.9, name: '效力'},
                {source: '拜仁慕尼黑', target: '拉姆', weight: 0.9, name: '效力'},
                {source: '拜仁慕尼黑', target: '克罗斯', weight: 0.9, name: '效力'},
                {source: '拜仁慕尼黑', target: '穆勒', weight: 0.9, name: '效力'},
                {source: '拜仁慕尼黑', target: '格策', weight: 0.9, name: '效力'},
                {source: '多特蒙德', target: '胡梅尔斯', weight: 0.9, name: '效力'},
                {source: '多特蒙德', target: '魏登费勒', weight: 0.9, name: '效力'},
                {source: '多特蒙德', target: '杜尔姆', weight: 0.9, name: '效力'},
                {source: '多特蒙德', target: '格罗斯克罗伊茨', weight: 0.9, name: '效力'},

                // Ribbon Type 的和弦图每一对节点之间必须是双向边
                {target: '阿森纳', source: '默特萨克', weight: 1},
                {target: '阿森纳', source: '厄齐尔', weight: 1},
                {target: '阿森纳', source: '波多尔斯基', weight: 1},
                {target: '拜仁慕尼黑', source: '诺伊尔', weight: 1},
                {target: '拜仁慕尼黑', source: '博阿滕', weight: 1},
                {target: '拜仁慕尼黑', source: '施魏因施泰格', weight: 1},
                {target: '拜仁慕尼黑', source: '拉姆', weight: 1},
                {target: '拜仁慕尼黑', source: '克罗斯', weight: 1},
                {target: '拜仁慕尼黑', source: '穆勒', weight: 1},
                {target: '拜仁慕尼黑', source: '格策', weight: 1},
                {target: '多特蒙德', source: '胡梅尔斯', weight: 1},
                {target: '多特蒙德', source: '魏登费勒', weight: 1},
                {target: '多特蒙德', source: '杜尔姆', weight: 1},
                {target: '多特蒙德', source: '格罗斯克罗伊茨', weight: 1}
            ]
        }
    ]
};
                    </textarea>
              </div><!--/.well -->
            </div><!--/span-->
            <div id="graphic" class="col-md-8">
                <div id="main" class="main"></div>
                <div>
                    <button type="button" class="btn btn-sm btn-success" onclick="refresh(true)">刷 新</button>
                    <span class="text-primary">切换主题</span>
                    <select id="theme-select"></select>

                    <span id='wrong-message' style="color:red"></span>
                </div>
            </div><!--/span-->
        </div><!--/row-->

        </div><!--/.fluid-container-->

    <footer id="footer"></footer>
    <!-- Le javascript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script src="../asset/js/jquery.min.js"></script>
    <script type="text/javascript" src="../asset/js/echartsHome.js"></script>
    <script src="../asset/js/bootstrap.min.js"></script>
    <script src="../asset/js/echartsExample.js"></script>
</body>
</html>
