分享几个用Echarts做的图表2

原创 2016年08月29日 15:43:43

2.地图

var ip="http://"+window.location.host+"/xz/xz/tongji/huibao/yanshiAction!";
var mapdata;
$(function () {
    init_chartfig_pzh();
});
//初始化图表路径
function init_chartfig_pzh() {
    require.config({
        paths: {
            echarts: "js/echarts"
        }
    });
    require(
        [
            "echarts",
            "echarts/chart/map",
            "echarts/chart/pie",
            "echarts/chart/bar",
            "echarts/chart/line"
        ],
        function (ec) {
            echarts = ec;
            require("echarts/util/mapData/params").params.CHENGDU = {
                getGeoJson: function (callback) {
                    $.getJSON("js/echarts/CD_geo_copy.json", callback);
                }
            }
            ecConfig = require("echarts/config");
        }
    );
}

//获得图表基本信息
function get_option(axis, geo) {
    var _option = {
//            title: {
//                text: "text",
//                x: 'center',
//                textStyle: {
//                    fontSize: 12,
//                    color: "#428bca"
//                }
//            },
        tooltip: {
            trigger: "axis"
        },
        legend: {
            orient: 'vertical',
            x: 'left',
            data: []
        },

        series: []
    };
    if (1 == axis) {
        _option.grid = {
            x: 80,
            y2: 30,
            x2: 60,
            borderWidth: 0
        };
        _option.xAxis = [
            {
                name: "name",
                axisLabel: {
                    interval: 0,
                    rotage: 60
                },
                type: "category",
                splitLine: {show: false},
                data: []
            }];
        _option.yAxis = [
            {
                name: "name",
                type: "value",
                splitLine: {
                    lineStyle: {
                        color: ["#F0F8FF", "#E0EEEE"]
                    }
                },
                axisLabel: {
                    formatter: function (val) {
                        if (val < 10000) {
                            return val;
                        } else if (val >= 10000 && val < 10000000) {
                            return (val / 10000) + "万";
                        } else {
                            return (val / 10000000) + "千万";
                        }
                    }
                }
            }];
    }
    if (1 == geo) {
        _option.dataRange = {};
        _option.dataRange.show = true;
        _option.dataRange.x = "89%";
        _option.dataRange.y = "top";
        _option.dataRange.precision = 0;
        _option.dataRange.calculable = true;
        _option.dataRange.color = ["#4dc1ea","#bae969","#f7fe24"];
        _option.dataRange.textStyle={color: '#fff'};

    }
    return _option;
}

$(window).load(function () {
    showMap_pzh();
});

function showMap_pzh() {
    $.ajax({
        type: 'post',
        dataType: "json",
        async: false,
        url: ip + "getHjAndWl.do",
        success: function (data) {
            mapdata = data;
            huademo_pzh("成都市", "demo1");
        }
    });

}


function huademo_pzh(area, div_id) {

    var datalist = mapdata.qxrk;
    var series0Array = new Array();
    var series1Array = new Array();
    var qxdata = {};
    for (var i = 0; i < datalist.length; i++) {
        var series1obj = new Object();
        series1obj.name = datalist[i].qx;
        series1obj.value = datalist[i].hjrk;
        series0Array.push(series1obj);
        var series2obj = new Object();
        series2obj.name = datalist[i].qx;
        series2obj.value = datalist[i].wlrk;
        series1Array.push(series2obj);
        qxdata[datalist[i].qx]=[datalist[i].hjrk,datalist[i].wlrk];
    }
    var option = get_option(0, 1);

    option.tooltip.trigger = "item";
    option.tooltip.padding=0;
    option.tooltip.position= function(p){return [p[0]-75,p[1]-60]};
    option.tooltip.formatter = function(params){
        var qx = params.name;
        var wlrk=0;
        var hjrk =0;
        if(undefined !=qxdata[qx]){
            wlrk = eval(qxdata[qx])[1];
            hjrk = eval(qxdata[qx])[0];
        }
        var html = "<div style='width: 149px;height: 60px; min-height: 80px' class='cd'>" +
            "<div style='width: 74px;height: 60px;float: left; text-align: center'><span style='color: black;'>"+wlrk+"</span>万人<br><span style='font-size: 12px;color: black;'>流动人口数</span></div>" +
            "<div style='border-right: 1px solid #ccc;height:40px;margin-top:10px;float:left;'></div>"+
            "<div style='width: 74px;height: 60px;float: left;text-align: center'><span style='color: black;'>"+hjrk+"</span>万人<br><span style='font-size: 12px;color: black;'>户籍人口数</span></div>" +
             "<div class='label-arrow'> </div>"
            "</div>";
        return html;
    };

    option.dataRange.min = 0;
    option.dataRange.max = 100;
    option.legend = {
        show: false,
        orient: 'vertical',
        x: 'left',
        data: ['户籍人口', '流动人口']
    };
    option.series[0] = {};
    option.series[0].type = "map";
    option.series[0].name = "户籍人口";
    option.series[0].mapType = "CHENGDU";
    option.series[0].itemStyle = {
        normal:{
            borderWidth:2,
            borderColor:"#fff",
            label:{show:true,
                textStyle:{
                    color:'#000',
                },
            },
            emphasis:{label:{show:true}}
        }
    };

    option.series[0].data = series0Array;

    option.series[1] = {};
    option.series[1].type = "map";
    option.series[1].name = "流动人口";
    option.series[1].mapType = "CHENGDU";
    option.series[1].itemStyle = {
        normal:{
            borderWidth:2,
            borderColor:"#fff",
            label:{show:true,
                textStyle:{
                    color:'#000',
                },
            },
            emphasis:{label:{show:true}}
        }
    };

    option.series[1].data = series1Array;
    var myChart = echarts.init(document.getElementById(div_id));
    myChart.setOption(option);
    window.addEventListener("resize", function () {
        myChart.resize();
    });

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

分享几个用Echarts做的图表3

3.类迁徙图 公民系统——公民大数据 数据采集 ...

Vue2+Echarts实现多种图表数据可视化Dashboard详解(附源码)

数据可视化  将数据通过图表的形式展现出来将大大的提升可读性和阅读效率 本例包含柱状图、折线图、散点图、热力图、复杂柱状图、预览面板等 技术栈 vue2.xvuex 存储公共变量,如色值等...

ionic2 项目中使用echarts图表,Jquery

开发中可能由于项目功能的需要需要嵌入一些图标页面,那么最流行的就是百度开放的echarts ,图标种类很多,非常好用。那么如何在ionic项目中进行使用呢? 首先需要对echarts的使用要有所了解,...
  • ABC__D
  • ABC__D
  • 2017年07月05日 15:33
  • 1715

echarts图表——条形图(柱状图)的动态横向显示设置

项目中要用到图表,简单地用echarts.js实现。 效果为: 是简单的无坐标轴显示的图表。 代码: html:js(配置):var length=12;//此处为动态数据的长度 var ...

echarts静态图表demo--2种写法

  • 2015年11月10日 09:07
  • 438KB
  • 下载

echarts图表导出excel

根据传入的参数生成相应的图形     ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 2...

jquery+echarts+php实时动态图表显示

  • 2016年01月06日 10:16
  • 33KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:分享几个用Echarts做的图表2
举报原因:
原因补充:

(最多只允许输入30个字)