Echarts实现柱状图显示部门分布

点击查看员工分布触发ajax请求

echarts请求被Controller层拦截解析跳转到Echarts.jsp

<%--
  Created by IntelliJ IDEA.
  User: 96384
  Date: 2018/7/19
  Time: 20:30
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <meta charset="utf-8">
    <title>ECharts</title>
</head>

<%
    pageContext.setAttribute("APP_PATH",request.getContextPath());
%>
<body>
<!-- 为ECharts准备一个具备大小(宽高)的Dom -->
<div id="main" style="width: 600px;height:400px;"></div>
<!-- 引入 echarts.js -->
<script type="text/javascript" src="${APP_PATH }/static/js/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../static/Echarts/echarts.common.min.js"></script>
<script src="../../static/Echarts/echarts.common.min.js"></script>
<script type="text/javascript">
    // 基于准备好的dom,初始化echarts实例
    var myChart = echarts.init(document.getElementById('main'));

    // 指定图表的配置项和数据
    myChart.setOption({
        title:{
            text:'部门分布'
        },
        tooltip : {
            show : true
        },
        legend : {
            data : ['人数']
        },
        xAxis : [ {
            type : 'category',
            data : []
        } ],
        yAxis : [ {
            type : 'value'
        } ],
        series : []
    });
    $.ajax({
        url : "${APP_PATH}/look",
        success : function(result) {
            //将从后台接收的json字符串转换成json对象
            var jsonobj = eval(result)
            var data = jsonobj.extend.look;
            var datalist= [];
            for(var i=0;i<data.length;i++){
                datalist.push(data[i].count)
            }
            var list = []
            for(var i=0;i<data.length;i++){
                list.push(data[i].dept_name)
            }
            myChart.setOption({
                xAxis:{
                    type: 'category',
                    data: list
                },
                series:[
                    {
                        data:datalist,
                        type:'bar'

                    }
                ]
            });
        },
        erroer:function (error) {
            console.log(error)
        }
    });
</script>
</body>
</html>

Echarts接受并处理Json数据

json格式:

 

option里可以用list直接显示

遍历取出

您好,要实现柱状图的前三名突出显示,可以使用 Echarts 中的视觉映射组件 `visualMap` 和 `emphasis` 属性来实现。 首先,您需要将数据按照需要的顺序排序,然后在 `series` 中使用 `itemStyle` 属性来设置每个柱子的样式。在 `itemStyle` 中,可以设置两个属性:`normal` 和 `emphasis`,用于分别设置正常状态和高亮状态下柱子的样式。 在 `normal` 中,您可以设置柱子的基本样式,例如颜色、边框等。而在 `emphasis` 中,可以设置柱子高亮时的样式,例如放大、改变颜色等。这里,我们可以设置前三名柱子的高亮样式,让它们突出显示。 接下来,您可以使用 `visualMap` 组件来显示柱子的数值,同时也可以通过 `visualMap` 组件设置颜色渐变,让数据更加直观。 以下是示例代码: ```javascript option = { xAxis: { type: 'category', data: ['A', 'B', 'C', 'D', 'E', 'F', 'G'] }, yAxis: { type: 'value' }, series: [{ data: [20, 50, 80, 30, 90, 60, 10], type: 'bar', itemStyle: { normal: { color: function(params) { // 设置渐变颜色 var colorList = ['#C1232B','#B5C334','#FCCE10','#E87C25','#27727B','#FE8463','#9BCA63']; return colorList[params.dataIndex] } }, emphasis: { // 设置前三名柱子高亮样式 color: '#F08A00', shadowBlur: 10, shadowOffsetX: 0, shadowOffsetY: 0, shadowColor: 'rgba(0, 0, 0, 0.5)' } }, // 使用 visualMap 组件显示数值 label: { show: true, position: 'top', formatter: '{c}' } }], // 设置 visualMap 组件 visualMap: { show: false, dimension: 0, pieces: [{ gt: 0, lte: 30, color: '#50A3BA' }, { gt: 30, lte: 60, color: '#E5CF0D' }, { gt: 60, lte: 90, color: '#FF4500' }, { gt: 90, lte: 100, color: '#FF1493' }], outOfRange: { color: '#999' } } }; ``` 希望这个示例能够帮助到您!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值