rongyux

官网:  http://echarts.baidu.com/index.html

通过一个简单的小Demo介绍echart的使用:demo均亲测可以运行

demo1:

1、新建一个echarts.html文件,为ECharts准备一个具备大小(宽高)的Dom。

<!DOCTYPE html>
<head>
    <meta charset="utf-8">
    <title>ECharts</title>
</head>

<body>
    <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
    <div id="main" style="height:400px"></div>
</body>

2、新建<script>标签引入模块化单文件echarts.js

<!DOCTYPE html>
<head>
    <meta charset="utf-8">
    <title>ECharts</title>
</head>
<body>
    <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
    <div id="main" style="height:400px"></div>
    <!-- ECharts单文件引入 -->
    <script src="http://echarts.baidu.com/build/dist/echarts.js"></script>
</body>

 

3、新建<script>标签中为模块加载器配置echarts和所需图表的路径(相对路径为从当前页面链接到echarts.js)

<!DOCTYPE html>
<head>
    <meta charset="utf-8">
    <title>ECharts</title>
</head>
<body>
    <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
    <div id="main" style="height:400px"></div>
    <!-- ECharts单文件引入 -->
    <script src="http://echarts.baidu.com/build/dist/echarts.js"></script>
    <script type="text/javascript">
        // 路径配置
        require.config({
            paths: {
                echarts: \'http://echarts.baidu.com/build/dist\'
            }
        });
    </script>
</body>

4、<script>标签内动态加载echarts和所需图表,回调函数中可以初始化图表并驱动图表的生成

<!DOCTYPE html>
<head>
    <meta charset="utf-8">
    <title>ECharts</title>
</head>
<body>
    <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
    <div id="main" style="height:400px"></div>
    <!-- ECharts单文件引入 -->
    <script src="http://echarts.baidu.com/build/dist/echarts.js"></script>
    <script type="text/javascript">
        // 路径配置
        require.config({
            paths: {
                echarts: \'http://echarts.baidu.com/build/dist\'
            }
        });
        
        // 使用
        require(
            [
                \'echarts\',
                \'echarts/chart/bar\' // 使用柱状图就加载bar模块,按需加载
            ],
            function (ec) {
                // 基于准备好的dom,初始化echarts图表
                var myChart = ec.init(document.getElementById(\'main\')); 
                
                var option = {
                    tooltip: {
                        show: true
                    },
                    legend: {
                        data:[\'销量\']
                    },
                    xAxis : [
                        {
                            type : \'category\',
                            data : ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
                        }
                    ],
                    yAxis : [
                        {
                            type : \'value\'
                        }
                    ],
                    series : [
                        {
                            "name":"销量",
                            "type":"bar",
                            "data":[5, 20, 40, 10, 10, 20]
                        }
                    ]
                };
        
                // 为echarts对象加载数据 
                myChart.setOption(option); 
            }
        );
    </script>
</body>

5、浏览器中打开echarts.html,就可看到以下效果

如果需要不同形式的图标,只更换option就可以了。

demo2:展示了更换option的图标。

1.代码:

<!DOCTYPE html>
<head>
    <meta charset="utf-8">
    <title>ECharts</title>
</head>
<body>
    <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
    <div id="main" style="height:400px"></div>
    <!-- ECharts单文件引入 -->
    <script src="http://echarts.baidu.com/build/dist/echarts.js"></script>
    <script type="text/javascript">
        // 路径配置
        require.config({
            paths: {
                echarts: \'http://echarts.baidu.com/build/dist\'
            }
        });
        
        // 使用
        require(
            [
                \'echarts\',
                \'echarts/chart/map\' // 使用柱状图就加载bar模块,按需加载
            ],
            function (ec) {
                // 基于准备好的dom,初始化echarts图表
                var myChart = ec.init(document.getElementById(\'main\')); 
                
                option = {
                    title : {
                        text: \'iphone销量\',
                        subtext: \'纯属虚构\',
                        x:\'center\'
                    },
                    tooltip : {
                        trigger: \'item\'
                    },
                    legend: {
                        orient: \'vertical\',
                        x:\'left\',
                        data:[\'iphone3\',\'iphone4\',\'iphone5\']
                    },
                    dataRange: {
                        min: 0,
                        max: 2500,
                        x: \'left\',
                        y: \'bottom\',
                        text:[\'\',\'\'],           // 文本,默认为数值文本
                        calculable : true
                    },
                    toolbox: {
                        show: true,
                        orient : \'vertical\',
                        x: \'right\',
                        y: \'center\',
                        feature : {
                            mark : {show: true},
                            dataView : {show: true, readOnly: false},
                            restore : {show: true},
                            saveAsImage : {show: true}
                        }
                    },
                    roamController: {
                        show: true,
                        x: \'right\',
                        mapTypeControl: {
                            \'china\': true
                        }
                    },
                    series : [
                        {
                            name: \'iphone3\',
                            type: \'map\',
                            mapType: \'china\',
                            roam: false,
                            itemStyle:{
                                normal:{label:{show:true}},
                                emphasis:{label:{show:true}}
                            },
                            data:[
                                {name: \'北京\',value: Math.round(Math.random()*1000)},
                                {name: \'天津\',value: Math.round(Math.random()*1000)},
                                {name: \'上海\',value: Math.round(Math.random()*1000)},
                                {name: \'重庆\',value: Math.round(Math.random()*1000)},
                                {name: \'河北\',value: Math.round(Math.random()*1000)},
                                {name: \'河南\',value: Math.round(Math.random()*1000)},
                                {name: \'云南\',value: Math.round(Math.random()*1000)},
                                {name: \'辽宁\',value: Math.round(Math.random()*1000)},
                                {name: \'黑龙江\',value: Math.round(Math.random()*1000)},
                                {name: \'湖南\',value: Math.round(Math.random()*1000)},
                                {name: \'安徽\',value: Math.round(Math.random()*1000)},
                                {name: \'山东\',value: Math.round(Math.random()*1000)},
                                {name: \'新疆\',value: Math.round(Math.random()*1000)},
                                {name: \'江苏\',value: Math.round(Math.random()*1000)},
                                {name: \'浙江\',value: Math.round(Math.random()*1000)},
                                {name: \'江西\',value: Math.round(Math.random()*1000)},
                                {name: \'湖北\',value: Math.round(Math.random()*1000)},
                                {name: \'广西\',value: Math.round(Math.random()*1000)},
                                {name: \'甘肃\',value: Math.round(Math.random()*1000)},
                                {name: \'山西\',value: Math.round(Math.random()*1000)},
                                {name: \'内蒙古\',value: Math.round(Math.random()*1000)},
                                {name: \'陕西\',value: Math.round(Math.random()*1000)},
                                {name: \'吉林\',value: Math.round(Math.random()*1000)},
                                {name: \'福建\',value: Math.round(Math.random()*1000)},
                                {name: \'贵州\',value: Math.round(Math.random()*1000)},
                                {name: \'广东\',value: Math.round(Math.random()*1000)},
                                {name: \'青海\',value: Math.round(Math.random()*1000)},
                                {name: \'西藏\',value: Math.round(Math.random()*1000)},
                                {name: \'四川\',value: Math.round(Math.random()*1000)},
                                {name: \'宁夏\',value: Math.round(Math.random()*1000)},
                                {name: \'海南\',value: Math.round(Math.random()*1000)},
                                {name: \'台湾\',value: Math.round(Math.random()*1000)},
                                {name: \'香港\',value: Math.round(Math.random()*1000)},
                                {name: \'澳门\',value: Math.round(Math.random()*1000)}
                            ]
                        },
                        {
                            name: \'iphone4\',
                            type: \'map\',
                            mapType: \'china\',
                            itemStyle:{
                                normal:{label:{show:true}},
                                emphasis:{label:{show:true}}
                            },
                            data:[
                                {name: \'北京\',value: Math.round(Math.random()*1000)},
                                {name: \'天津\',value: Math.round(Math.random()*1000)},
                                {name: \'上海\',value: Math.round(Math.random()*1000)},
                                {name: \'重庆\',value: Math.round(Math.random()*1000)},
                                {name: \'河北\',value: Math.round(Math.random()*1000)},
                                {name: \'安徽\',value: Math.round(Math.random()*1000)},
                                {name: \'新疆\',value: Math.round(Math.random()*1000)},
                                {name: \'浙江\',value: Math.round(Math.random()*1000)},
                                {name: \'江西\',value: Math.round(Math.random()*1000)},
                                {name: \'山西\',value: Math.round(Math.random()*1000)},
                                {name: \'内蒙古\',value: Math.round(Math.random()*1000)},
                                {name: \'吉林\',value: Math.round(Math.random()*1000)},
                                {name: \'福建\',value: Math.round(Math.random()*1000)},
                                {name: \'广东\',value: Math.round(Math.random()*1000)},
                                {name: \'西藏\',value: Math.round(Math.random()*1000)},
                                {name: \'四川\',value: Math.round(Math.random()*1000)},
                                {name: \'宁夏\',value: Math.round(Math.random()*1000)},
                                {name: \'香港\',value: Math.round(Math.random()*1000)},
                                {name: \'澳门\',value: Math.round(Math.random()*1000)}
                            ]
                        },
                        {
                            name: \'iphone5\',
                            type: \'map\',
                            mapType: \'china\',
                            itemStyle:{
                                normal:{label:{show:true}},
                                emphasis:{label:{show:true}}
                            },
                            data:[
                                {name: \'北京\',value: Math.round(Math.random()*1000)},
                                {name: \'天津\',value: Math.round(Math.random()*1000)},
                                {name: \'上海\',value: Math.round(Math.random()*1000)},
                                {name: \'广东\',value: Math.round(Math.random()*1000)},
                                {name: \'台湾\',value: Math.round(Math.random()*1000)},
                                {name: \'香港\',value: Math.round(Math.random()*1000)},
                                {name: \'澳门\',value: Math.round(Math.random()*1000)}
                            ]
                        }
                    ]
                };
                                    
        
                // 为echarts对象加载数据 
                myChart.setOption(option); 
            }
        );
    </script>
</body>

2.浏览器效果:

 

 

更多option,请参考官方文档:http://echarts.baidu.com/echarts2/doc/example.html

备注:灵活使用,注意API的调用,echart是一个很好的图表展示工具。

 

分类:

技术点:

相关文章: