echarts之柱状图(bar)、饼状图(pie)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>echartsLineTest</title>

    <script src="../../libs/jquery/jquery.js"></script>
    <script src="../../widgets/dnQuery/lib/echarts/dist/echarts-all.js"></script>

</head>
<body>

    <div id="staChart" style="width:550px;height:320px;"></div>

<script>

    var chart;
    $(function() {
        setChart()
    })

    function setChart() {
        chart = echarts.init(document.getElementById("staChart"));
        chart.setOption(getChartOption("bar"));

    }
    function getChartOption(type) {


        var yField = "地块面积/公顷";//y坐标字段名称
        var xField = "地块名称";//y坐标字段名称
        var title = "2016年土地利用现状统计";//标题
        var subTitle = "地块面积统计";//副标题

        //自定义切换按钮
        var myToolTitle = "";
        var myToolImage = "";
        if (type === 'bar') {
            myToolTitle = "饼图切换";
            myToolImage = 'image://../images/iconPie.png';
        } else if (type === 'pie') {
            myToolTitle = "直方图切换";
            myToolImage = 'image://../images/iconBar.png';
        }


        //option
        var option = {};

        if (type == 'bar') {

            var dataZoomEndPercent = 1200/3;

            var xdata = ["耕地","林地"];
            var staSeries = {
                name: "地块面积",
                type: 'bar', //line
                itemStyle: { normal: { label: { show: true, position: 'top' } } },
                data: [100,200],
                barWidth: 25
            };


            option = {
                color: ['#3398DB'],
                title: {
                    x: 'center',
                    text: title,
                    subtext: subTitle
                },
                tooltip: {
                    trigger: 'axis',
                    axisPointer: {            // 坐标轴指示器,坐标轴触发有效
                        type: 'shadow'        // 默认为直线,可选为:'line' | 'shadow'
                    }
                },
                toolbox: {
                    show : true,
                    orient: 'horizontal',      // 布局方式,默认为水平布局,可选为:
                                               // 'horizontal' ¦ 'vertical'
                    x: 'right',                // 水平安放位置,默认为全图右对齐,可选为:
                                               // 'center' ¦ 'left' ¦ 'right'
                                               // ¦ {number}(x坐标,单位px)
                    y: 'top',                  // 垂直安放位置,默认为全图顶端,可选为:
                                               // 'top' ¦ 'bottom' ¦ 'center'
                                               // ¦ {number}(y坐标,单位px)
                    color : ['#1e90ff','#22bb22','#4b0082','#d2691e'],
                    backgroundColor: 'rgba(0,0,0,0)', // 工具箱背景颜色
                    borderColor: '#ccc',       // 工具箱边框颜色
                    borderWidth: 0,            // 工具箱边框线宽,单位px,默认为0(无边框)
                   padding: 5,                // 工具箱内边距,单位px,默认各方向内边距为5,
                    showTitle: true,
                   
                    feature: {
                        //mark: { show: true },
                        //dataView: { show: true, readOnly: false },
                        magicType: {
                             show : true,
                             title : {
                                 line : '折线图',
                                 bar : '柱形图',
                    
                              },
                              type : ['line', 'bar']
                         },
                        //restore: { show: true },
                        myTool: {
                            show: true,
                            title: myToolTitle,
                            icon: myToolImage,
                            onclick: function (option1) {
                                chart = echarts.init(document.getElementById("staChart"));
                                chart.setOption(getChartOption('pie'));
                            }
                        },
                        saveAsImage: { show: true }
                      
                    }
                },
                calculate: true,
                grid: {
                    left: '0px',
                    right: '0px',
                    bottom: '10px',
                    containLabel: true
                },
                xAxis: [
                    {
                        type: 'category',
                        boundaryGap: true,
                        name:xField,
                        data: xdata,
                        axisLabel: {
                            interval: 0,
                            rotate: 20
                        }
                        //axisTick: {
                        //    alignWithLabel: true
                        //}
                    }
                ],
                yAxis: [
                    {
                        type: 'value',
                        name: yField,
                        axisLabel: {
                            formatter: '{value}'
                        }
                    }
                ],
                dataZoom : {
                    show : false,
                    realtime : true,
                    start : 0,
                    end : dataZoomEndPercent,
                    zoomLock: true
                },
                series: [
                    staSeries
                ]
            };


        } else if (type == "pie") {
            option = {
                title: {
                    text: title,
                    subtext: subTitle,
                    x: 'center'
                },
                tooltip: {
                    trigger: 'item',
                    formatter: "{a} <br/>{b} : {c} ({d}%)"
                },
                legend: {
                    show: true,
                    orient: 'vertical',
                    selectedMode:false,//取消图例上的点击事件
                    x: '10px',
                    data: ['直接访问', '邮件营销', '联盟广告', '视频广告', '搜索引擎']
                },
                series: [
                    {
                        name: yField,
                        type: 'pie',
                        radius: '55%',
                        center: ['50%', '60%'],
                        data:
                           [
                           { value: 335, name: '直接访问' },
                           { value: 310, name: '邮件营销' },
                           { value: 234, name: '联盟广告' },
                           { value: 135, name: '视频广告' },
                           { value: 1548, name: '搜索引擎' }
                        ],
                        itemStyle: {
                            emphasis: {
                                shadowBlur: 10,
                                shadowOffsetX: 0,
                                shadowColor: 'rgba(0, 0, 0, 0.5)'
                            }
                        }
                    }
                ],
                toolbox: {
                    show: true,
                    feature: {
                        myTool: {
                            show: true,
                            title: myToolTitle,
                            icon: myToolImage,
                            onclick: function (option1) {
                                chart = echarts.init(document.getElementById("staChart"));
                                chart.setOption(getChartOption('bar'));
                            }
                        },
                        saveAsImage: { show: true }
                    }
                }
            };

        }
        return option;
    }

</script>
</body>
</html>

echsrts引用的相关js文件:链接:https://pan.baidu.com/s/1GP34oLNd-EEjqWXHZ9sYeA 密码:se9t

相关参考:http://echarts.baidu.com/echarts2/doc/example/toolbox.html 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值