Echarts后台option对象

最近在工作中使用到了Echarts来制作图表,在网上搜了好多例子几乎都是千篇一律的在前台写死一些js,然后把变量通过ajax或者遍历集合的方式插进去,这样子一旦某一页面的图表一多,就会异常混乱,偶然在开源中国看到有人做成了个Echarts对象的jar包,在后台进行完美封装传回一个option在前台接收了并set进option即可。试了试,效果非常好。
下面给出例子代码:



该方法返回的keyword指向了前台负责图表显示的jsp页面

public String keyword() {
	   if(this.dateNum == null || this.dateNum.equals("")) {
		   this.dateNum = "5" ;
	   }
	   return "keyword" ; 
   }


该方法根据jsp的ajax传回来显示的条数dateNum进行数据库取值(这地方我没有使用实时拿值,而是通过定时来把数据更新进一张表,从而图表拿值会非常迅速)

可以看出我定义了一个Option对象,里面的参数都可以在里面以方法或者属性的方式调用。最后封装好Option后,把他放入jsonObject对象传回前台一接收json值即可。

public String getKeyWordData() throws ParseException{
	   LoginUser user = (LoginUser) ((SecurityContext) ServletActionContext
				.getRequest().getSession()
				.getAttribute("SPRING_SECURITY_CONTEXT")).getAuthentication()
				.getPrincipal();
	   Long id = user.getId() ;
	   int num = Integer.parseInt(this.dateNum) ;
	   jsonObj = new JSONObject() ;
	   //取到该用户的所有关键字放入legendName数组
	   List<String> names = this.cacheCountManager.getKeywordNames(id) ;
	   String[] legendName = new String[names.size()] ;
	   for(int i=0;i<names.size();i++) {
		   String name = names.get(i) ;
		   legendName[i] = name ;
	   }
	   String[] riqiArr = new String[num] ;
	   for(int j=num;j>0;j--) {
		   String riqi = getStrDate(String.valueOf(j)) ;
		   riqiArr[num-j] = riqi ;
	   }
	   Option option=new GsonOption();
	   option.title().text("关键词文章统计");
	   option.tooltip().trigger(Trigger.axis);
	   option.legend().data(legendName);
	   ValueAxis axis = new ValueAxis();
	   axis.type(AxisType.category).boundaryGap(false).data(riqiArr);
	   option.xAxis(axis);
	   CategoryAxis yaxis = new CategoryAxis();
	   yaxis.type(AxisType.value);
	   option.yAxis(yaxis);
	   List<Series> seriess = new ArrayList<Series>() ;
	   MarkPoint mp = new MarkPoint() ;
	   mp.data(new Data().type(MarkType.max).name("最大值"),
			   new Data().type(MarkType.min).name("最小值")) ;
	   for(int i=0;i<names.size();i++) {
		   Integer[] countArr = new Integer[num] ;
		   Line line = new Line() ;
		   String name = names.get(i) ;
		   for(int j=num;j>0;j--) {
			   String riqi = getStrDate(String.valueOf(j)) ;
			   countArr[num-j] = this.cacheCountManager.getCount(id, riqi, name) ;
		   }
		   line.name(name).type(SeriesType.line).data(countArr).markPoint(mp) ;
		   seriess.add(line) ;
	   }
	   option.series(seriess);
	   jsonObj=JSONObject.fromObject(option.toString());
	   return "echartsJson";
   }


页面显示部分很简洁。

<div id="main"  style="height: 400px; border: 1px solid #ccc; padding: 10px;">图形正在加载中...</div>


$(function(){
	require([ 'echarts','echarts/chart/line' ],DrawEChart);
});

function DrawEChart(ec) {
	var myChart;
	myChart = ec.init(document.getElementById('main'));
	myChart.showLoading({
	text: "图表数据正在努力加载...",
	});
	var date = $("#dateNum").val() ;
	$.ajax({
	type : "post",
	data:{"dateNum":date},
		url : "${ctx}/statistics/statistics!getKeyWordData.action",
		dataType : "json",
		success : function(data) {
			myChart.setOption(data.jsonObj);
		myChart.hideLoading();
		},
		error : function(errorMsg) {
		alert("不好意思大爷,图表请求数据失败啦!");
		}
	});
}

jar包下载: http://mvnrepository.com/artifact/com.github.abel533/ECharts

### 回答1: ECharts 是一个基于 JavaScript 的可视化图表库,可以帮助开发者创建出复杂的数据可视化效果,它提供了丰富的图表类型和多种可视化效果,可以满足不同的需求。它的后台代码可以帮助开发者更快捷地实现可视化效果。 ### 回答2: Echarts 是一款开源的可视化图表库,可以用于在网页中展现各种图表,如折线图、柱状图、饼状图等。所谓的 Echarts 后台代码,指的是在后端服务器中使用 Echarts 进行图表生成和数据处理的代码。 在使用 Echarts 后台代码之前,首先需要将 Echarts 库引入项目中。可以通过下载 Echarts 的源码并在页面中引用,或者使用 npm 等包管理工具进行安装。 接下来,在后台代码中,首先需要获取需要绘制图表的数据。这可以通过从数据库中查询数据、调用其他接口获取数据等方式进行。 获取到数据之后,可以根据具体需求进行数据处理,如对数据进行排序、筛选等操作。根据处理后的数据,可以创建 Echarts 的图表配置对象。 图表配置对象中包含了图表的类型、样式、数据等配置信息。可以通过设置图表的类型(如折线图、柱状图)、设置图表的标题、设置图表的图例、设置图表的数据等来定制图表的样式和展示内容。 最后,通过调用 Echarts 的渲染方法,将图表配置对象渲染为具体的图表,并将图表的 HTML 代码返回给前端页面。 总结来说,Echarts 后台代码主要包括引入 Echarts 库、获取数据、数据处理、创建图表配置对象以及渲染图表等步骤。通过这些步骤,可以在后台服务端生成各种类型的图表,并将其返回给前端页面展示。 ### 回答3: ECharts是一款基于JavaScript的开源数据可视化图表库,可以通过后台代码进行配置和使用。在后台代码中,我们可以通过以下几个步骤来使用ECharts。 第一步,引入ECharts库。可以通过在HTML页面中引入ECharts的JavaScript文件来实现,如下所示: <script src="echarts.min.js"></script> 第二步,创建一个DOM元素并设置其样式和宽高。例如,我们可以在HTML中创建一个div元素,并设置其id属性、样式和宽高,如下所示: <div id="chartContainer" style="width: 600px; height: 400px;"></div> 第三步,使用JavaScript代码进行配置。在后台代码中,我们可以通过调用ECharts提供的API方式来进行图表的配置,包括设置图表类型、数据源、样式等各种属性。例如,我们可以使用如下代码配置一个简单的饼图: var chartContainer = document.getElementById('chartContainer'); var myChart = echarts.init(chartContainer); var option = { series: [{ type: 'pie', data: [ {name: 'A', value: 10}, {name: 'B', value: 20}, {name: 'C', value: 30} ] }] }; myChart.setOption(option); 第四步,渲染图表。在配置完成后,通过调用setOption()方法将配置应用到图表实例上,然后调用ECharts的render()方法将图表渲染到指定的DOM元素上。例如,我们可以使用如下代码将配置好的饼图渲染到指定DOM元素上: myChart.setOption(option); myChart.render(); 通过以上步骤,我们可以在后台代码中完成ECharts图表的配置和渲染。当然,这只是一个简单的示例,ECharts库还提供了丰富的API和图表类型供我们使用,可以根据具体需求进行更详细的配置和使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值