java layui 实现从后台获取数据并画图chart

1.画图控件

<div class="layui-form-item"
		style="width: 100%; height: 100%; margin: 0">
		<div class="layui-inline"
			style="width: 100%; height: 650px; margin: 0">
			<div id="container" style="width: 100%; height: 100%; margin: 0 auto"></div>//画图控件
</div>
</div>

2.js
请求数据

var datas=0;
layui.use([ 'jquery' ], function() {
	var $ = layui.jquery;
	console.log("结果图");
	//编码json	
	$.ajax({
	type : 'POST',
	url :   '../outcome',
	data : {
		 
	},
	dataType: "json",
	success : function(data) {
		//datas=data.data;换了框架就不适合了
		datas=data;
	 console.log(datas);
		 miaodian(datas);
		layui.use('layer', function(){
			  var layer = layui.layer;
			  
			 // layer.alert('成果图完毕', {icon: 1});
			});  
			
	}
 

根据data画图的方法

function miaodian(datas){
	  $(document).ready(function() {  
		   var chart = {
		      type: 'area'
		   };
		   var title = {
		      text: 'NPV和约束值随着迭代次数变化的情况'   
		   };
		   var subtitle = {
		      text: '' 
		   };
		   var xAxis = {
				   categories:datas[0]
		   };
		   var yAxis = {
		      title: {
		         text: 'Npv和约束值'
		      },
		      labels: {
		         formatter: function () {
		            return this.value  ;
		         }
		      }
		   };
		   var tooltip = {
		      pointFormat: '{series.name} is <b>{point.y:,.0f}</b><br/> in the {point.x} time'
		   };
		   var plotOptions = {
		      area: {
		         pointStart: 0,
		         marker: {
		            enabled: false,
		            symbol: 'circle',
		            radius: 2,
		            states: {
		               hover: {
		                 enabled: true
		               }
		            }
		         }
		      }
		   };
		   var series= [{
		         name: 'NPV',
		            data:datas[1]
		        }, {
		            name: '约束值',
		            data: datas[2]
		      }
		   ];     
		      
		   var json = {};   
		   json.chart = chart; 
		   json.title = title;   
		   json.subtitle = subtitle; 
		   json.tooltip = tooltip;
		   json.xAxis = xAxis;
		   json.yAxis = yAxis;  
		   json.series = series;
		   json.plotOptions = plotOptions;
		   $('#container').highcharts(json);//绑定控件
		  
		});}

3.后台
获取data

@RequestMapping("outcome")
	public ArrayList Opt()  throws JsonParseException, JsonMappingException, IOException   {
		//这个是柱状图的data
		ArrayList<Object> data = new ArrayList<Object>();
		ArrayList<Double> times = new ArrayList<Double>();
		ArrayList<Double> npv = new ArrayList<Double>();
		ArrayList<Double> ysz = new ArrayList<Double>();
		//读项目名,前台获取不到。
		Scanner scanners = new Scanner(new FileInputStream("D:\\Injection_production_optimization\\optpar.dat"),"GBK") ;
		scanners.next();scanners.next();
		String itemname = scanners.next();
		System.out.println("打开NPV结果文件.........."  );
		//从数据库获取数据
		String npvfile = "D:\\Injection_production_optimization\\RunItem\\"+itemname+"\\result\\NPV.txt";
		Scanner scanner = new Scanner(new FileInputStream(npvfile),"GBK") ;
		int a = 0;
		double b,c,d,e;
		while(scanner.hasNext()){
			// String[] as = null;
			//as[a++] = scanner.next();一个一个加
			times.add(Double.parseDouble(scanner.next()) );
			npv.add(Double.parseDouble(scanner.next()) );
			ysz.add(Double.parseDouble(scanner.next()) );


		}
		//直接加对象,集合里套集合

		data.add(times);
		data.add(npv);

		data.add(ysz);

		System.out.println(data.toString());
		return data;
	}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值