1. 程式人生 > >Echarts圖表與資料庫資料結合

Echarts圖表與資料庫資料結合

2.匯入到你的專案中 

<script type="text/javascript" src="<%=request.getContextPath()%>/EchatsJs/echarts.js"></script>

3.給圖表新建一個盒子/容器

<div id="main" style="width: 600px;height: 400px"></div>

4.初始化容器

<script type="text/javascript">

    var myChart=echarts.init(document.getElementById("main"));

</script>

5.給你的容器加點東西x軸y軸、標題

    myChart.setOption({
                title:{
                    text:'echarts入門示例'
                },
                legend:{
                    data:['銷量']
                },
                xAxis:{
                    data:[“一月”,“二月”,“三月”,“四月”,“五月”]
                },
                yAxis:{
                    
                },
                series:[
                    {
                        name:'銷量',
                        type:'bar',
                        data:[“15”,“16”,“17”,“18”,“19”]
                    },
                ]

        });

6.完成上面的,一個簡單的圖表就完成了,效果如下:

那麼做好的圖表資料是寫死的,要想與資料庫結合,只需要寫一個jquery去後臺取資料就可以了

1.建個這樣的表

2.用的SSM框架,主要展示一下業務層中的情況        

將獲取到的月份和月銷量分別放入陣列中,再將兩個陣列放入map集合中返回。

package com.xiaoliang.service.impl;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.xiaoliang.bean.Xiaoliang;
import com.xiaoliang.dao.XiaoliangDao;
import com.xiaoliang.service.XiaoliangService;
@Service
public class XiaoliangServiceImpl implements XiaoliangService {

    @Resource
    private XiaoliangDao xiaoliangDao;
    /**
     * <!-- 獲取銷量資訊 getXiaoliangList-->
     */
    @Override
    public Map<String,Object> getXiaoliangList() {
        // TODO Auto-generated method stub
        /*建立一個集合來接受資料庫資料*/
        List<Xiaoliang> xlist = new ArrayList<Xiaoliang>();
        /*建立一個map集合來裝月份和銷量這兩個陣列*/
        Map<String,Object> xmap=new HashMap<String,Object>();
        /*接受資料*/
        xlist=xiaoliangDao.getXiaoliangList();
        /*建立裝載月銷量陣列*/
        int[] xxdata=new int[xlist.size()];
        /*建立裝載月份陣列*/
        String[] xdata=new String[xlist.size()];
        /*定義陣列下標*/
        int i=0;
        /*遍歷資料庫資料*/
        for (Xiaoliang xiaoliang : xlist) {
            /*將銷量放入陣列*/
            xxdata[i]=xiaoliang.getXcount();
            /*將月份放入陣列*/
            xdata[i]=xiaoliang.getXname();
            i++;
        }
        /*將兩個陣列存入集合中*/
        xmap.put("xname", xdata);
        xmap.put("xcount", xxdata);
        return xmap;
    }

}


3.在JSP頁面中寫個jquery如下

myChart.setOption({
                title:{
                    text:'echarts入門示例'
                },
                tooltip:{
                    
                },
                legend:{
                    data:['銷量']
                },
                xAxis:{
                    data:[]
                },
                yAxis:{
                    
                },
                series:[
                    {
                        name:'銷量',
                        type:'bar',
                        data:[]
                    },
                ]
        });                        


                        $.post(
				"<%=request.getContextPath()%>/xiaoliang/getXiaoliangList.action",
				{},
				function(data){
					myChart.setOption({
						xAxis:{
							data:data.xname
						},
						series:[
							{
								name:'銷量',
								data:data.xcount
							},
						]
					});
				},
				"json"
			) 

4.展示從資料庫獲取到的資料如下