优秀的编程知识分享平台

网站首页 > 技术文章 正文

Echarts玩转图表(接触过的,再看看还是比较简单的)

nanyue 2024-09-01 20:23:54 技术文章 8 ℃

这个例子后台使用的是Spring+SpringMVC,JSON用的是阿里巴巴Json,这个例子当时主要是给一些要找工作的朋友临时补充的例子,由于当时时间比较紧张。朋友要出去找工作,所以没有涉及数据库,但是Echarts已经大概讲解了用法,这个例子主要讲的时Echarts。

这边主要涉及Echarts展现图标时,要传输的参数问题。我们来看一下代码。

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>ECharts</title>

<script type="text/javascript" src="js/echarts/dist/echarts.js"></script>

<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>

<script type="text/javascript">

$(function(){

//获得后台数据

var category_data;

var sj_data;

var bs_data;

var tj_data;

$.ajax({

url:'./user/ajax01.action',

async:false,

dataType:"json",

success: function(data){

category_data=data.category;

sj_data=data.sj_data;

bs_data=data.bs_data;

tj_data=data.tj_data;

}

})

// 路径配置

require.config({

paths: {

echarts: 'js/echarts/dist'

}

});

// 使用

require(

[

'echarts',

'echarts/chart/bar', // 使用柱状图就加载bar模块,按需加载

'echarts/chart/line'

],

function (ec) {

// 基于准备好的dom,初始化echarts图表

var myChart = ec.init(document.getElementById('show_data'));

var option = {

tooltip: {//提示框,鼠标悬浮交互时的信息提示

show: true

},

toolbox:{//定义工具按钮

show : true,

feature : {

dataView : {show: true, readOnly: false},//数据信息按钮

magicType : {show: true, //显示折线、柱状图等切换按钮

type: ['line', 'bar','stack', 'tiled']}

}

},

legend: {//图例

data:['上机','笔试','提交']

},

xAxis : [//x轴设置

{

type : 'category',//x轴显示类别

data : category_data//["第一季度","第二季度","第三季度","第四季度"]

}

],

yAxis : [//y轴设置

{

type : 'value'///y轴显示数据值

}

],

series : [

{

"name":"上机",

"type":"bar",

"data":sj_data

},

{

"name":"笔试",

"type":"bar",

"data":bs_data

},

{

"name":"提交",

"type":"bar",

"data":tj_data

}

]

};

// 为echarts对象加载数据

myChart.setOption(option);

}

);

});

</script>

</head>

<body>

<!-- 为ECharts准备一个具备大小(宽高)的Dom -->

<div id="show_data" style="height:400px"></div>

</body>

</html>

这个JSP页面里面主要就是表格数据怎么从后台获取的问题,再者就是这些数据怎么加工的问题。我们来看一下怎么加工的。代码如下:

@RequestMapping(value = "/ajax01.action",produces = "application/json; charset=utf-8")

public void ajax01(HttpServletResponse response) throws IOException {

response.setContentType("text/html; charset=UTF-8");

PrintWriter printWriter=response.getWriter();

Map<String,Object> map=new HashMap<String,Object>();

map.put("category", new String[]{"第1阶段","第2阶段","第3阶段","第4阶段"});

map.put("sj_data", new int[]{10, 50, 20, 70} );

map.put("bs_data", new int[]{90, 50, 80, 30});

map.put("tj_data",new int[]{90, 80, 70, 65});

String jsonString = JSON.toJSONString(map);

printWriter.write(jsonString);

printWriter.flush();

printWriter.close();

}

效果图如下:

最近发表
标签列表