echart在jsp中使用另外的方法


 var chartOutChar = null;
 
 var option1 = {
     tooltip: {
         trigger: 'axis'
     },
     toolbox: {
         feature: {
             dataView: {show: true, readOnly: false},
             magicType: {show: true, type: ['line', 'bar']},
             restore: {show: true},
             saveAsImage: {show: true}
         }
     },
     legend: {
         data:['蒸發量','降水量','平均溫度']
     },
     xAxis: [
         {
             type: 'category',
             data: ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月']
         }
     ],
     yAxis: [
         {
             type: 'value',
             name: '水量',
             min: 0,
             max: 250,
             interval: 50,
             axisLabel: {
                 formatter: '{value} ml'
             }
         },
         {
             type: 'value',
             name: '溫度',
             min: 0,
             max: 25,
             interval: 5,
             axisLabel: {
                 formatter: '{value} °C'
             }
         }
     ],
     series: [
         {
             name:'蒸發量',
             type:'bar',
             data:[]
         },
         {
             name:'降水量',
             type:'bar',
             data:[]
         },
         {
             name:'平均溫度',
             type:'line',
             yAxisIndex: 1,
             data:[]
         }
     ]
 };
 
 function loadChartOut() {
     $.getJSON('/maze/rest/view/rain.html', function (data) {
         //上面這個url是重點,組成為:項目名/過濾前綴/Controller中mapping值,當頁面加載此js時,它會向后台取數據,將后台的數據注入到echart中
         if (data.success1) {
             chartOutChar.showLoading({text: '正在努力的讀取數據中...'});
             chartOutChar.setOption({
                 series: [
                     {
                         name:'蒸發量',
                         data:data.c_eva
                     },
                     {
                         name:'降水量',
                         data:data.c_rain
                     },
                     {
                         name:'平均溫度',
                         data:data.c_avgt
                     }
                 ]
             });
             chartOutChar.hideLoading();
         }else {
             alert('提示', data.msg);
         }
     });
 }
 
 //載入圖表
 $(function () {
     chartOutChar = echarts.init(document.getElementById('showChart'));
     chartOutChar.setOption(option1);
     loadChartOut();
     window.addEventListener('resize', function () {
         chartOutChar.resize();
         mychart.resize();
     });
 });

controllr

 @Controller
 @RequestMapping(value = "/view")
 public class EchartsController {
     @Resource
     private EchartService echartService;
 
     @RequestMapping(value = "/rain.html",method = RequestMethod.GET)
     @ResponseBody
     public Object showChart(){
         Map<String, Object> map = new HashMap<String, Object>();
         List<Float> clist1 = new ArrayList<Float>();
         List<Float> clist2 = new ArrayList<Float>();
         List<Float> clist3 = new ArrayList<Float>();
 
         List<EcBar> chartList = echartService.listBar();
 
         for(EcBar cl : chartList){
             clist1.add(cl.getEvaporation());
             clist2.add(cl.getRainfall());
             clist3.add(cl.getAvgtemp());
         }
         map.put("c_eva",clist1);
         map.put("c_rain",clist2);
         map.put("c_avgt",clist3);
         map.put("success1",true);
         return map;
     }
 }

jsp頁面

 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
 <script type="text/javascript" src="hemi/js/echarts.js"></script>
 <script type="text/javascript" src="hemi/js/showChart.js"></script>
 <script type="text/javascript" src="hemi/js/funnelView.js"></script>
 
 <h3 class="page-title">
     Echarts 展示 <small>可視化圖表</small>
 </h3>
 </div>
 
 <div class="row">
     <div class="col-lg-6 col-sm-12 col-xs-12 col-sm-12">
         <div id="showChart" style="width:100%;height:600px;margin-left:0px;margin-right:6px;margin-bottom:8px;float:left;overflow:hidden;"></div>
     </div>
 
     <div class="col-lg-6 col-sm-12 col-xs-12 col-sm-12">
         <div id="showFunnelChart" style="width:100%;height:600px;margin-left:0px;margin-right:6px;margin-bottom:8px;float:left;overflow:hidden;"></div>
     </div>
 </div>

 

這種是采用js獲取后台數據放入頁面的所以是比較和諧的,可以使用html,也可以使用其他的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM