echarts的部署和使用

echarts是百度开发的一款商业级、开源免费的前端图表组件,具体可访问其主页:http://echarts.baidu.com/

echarts目前已经发布了2.0版本,使用起来非常的方便,并且效果强大。这里简单记下echarts如何使用及本地部署情况。

注:早期的版本为了使用echarts还要下载一个名为zender的canvas库,而echarts-2.0.1集成了zender,所以大家无需再单独下载zender。

1.下载echarts-2.0.1

echarts最新可用的版本下载地址:http://echarts.baidu.com/build/echarts-2.0.1.zip,下载解压后如下:

该zip包是echarts完整的说明文档和echarts源程序,之前没接触过的同学可以打开index.html了解一下(当然这些内容在其在线主页上也能看到)。

2.下载esl.js

esl.js是echarts的加载器,用来初始化和配置echarts,下载地址:http://s1.bdstatic.com/r/www/cache/ecom/esl/1-6-10/esl.js

*下载到本地的esl.js本身对路径没什么要求,不过我还是按照url创建了本地路径ecom/esl/1-6-10/esl.js,所以后面的引用上我用的是这个路径。

3.部署echarts

其实很简单,就是把刚才下载echarts-2.0.1包内的build文件夹和刚才下载的esl.js放在一个目录下即可,如图:

其中,test.html是我从echarts主页上复制下来的一个示例程序,该程序是一个地图型(map)数据呈现图表。在此,拿来验证本地部署的情况。

test.html代码我也在此贴一下:

<!DCOTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>echarts testing page</title>
        <script src="./ecom/esl/1-6-10/esl.js"></script>
    </head>
    <body>
        <div id="main" style="height:400px;"></div>
        <script type="text/javascript">
            require.config({
                paths:{
                    "echarts":"build/echarts",
                    "echarts/chart/map":"build/echarts-map"
                }
            });
            
            //using
            require(
                [
                    "echarts",
                    "echarts/chart/map"
                ],
                function(ec){
                    var myChart=ec.init(document.getElementById("main"));               
                    var 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}
                            }
                        },
                        series : [
                            {
                                name: 'iphone3',
                                type: 'map',
                                mapType: 'china',
                                roam: true,
                                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)}
                                ]
                            }
                        ]
                    };
                    
                    //loading data
                    myChart.setOption(option);
                }
            );
        </script>
    </body>
</html>

打开浏览器(chrome),看下这个页面显示如何:

看看,效果不错吧。另外,echarts几乎支持所有常见的图表模型,想了解更多可自行访问echarts主页。

本文使用的环境配置也打包好了,如有需要可点击下载:点我下载!

PS:echarts在网页内的的初始化和配置可查看贴出的test.html的script部分,略微思考下想必就能明白。

      如果你测试的时候发现图表显示不出来那多半问题是路径没有配置对。

posted @ 2014-08-08 16:46  lichmama  阅读(5108)  评论(3编辑  收藏  举报