Java web數(shù)據(jù)可視化實(shí)現(xiàn)原理解析
這周用java web制作了全國各個(gè)省份的疫情數(shù)據(jù)的可視化,做的是最基礎(chǔ)的柱狀圖。
先導(dǎo)入
相應(yīng)的echarts包和插件
<script type='text/javascript'> // 基于準(zhǔn)備好的dom,初始化echarts實(shí)例 var myChart = echarts.init(document.getElementById(’main’)); // 指定圖表的配置項(xiàng)和數(shù)據(jù) myChart.setOption({ title: { text: ’全國各省確診人數(shù)’ }, tooltip: {}, legend: { data:[’確診人數(shù)’], width:’auto’, height:’auto’ }, xAxis: { data: [] }, yAxis: {}, series: [{ name: ’確診人數(shù)’, type: ’bar’, data: [] }] }); myChart.showLoading(); var names=[]; //類別數(shù)組(實(shí)際用來盛放X軸坐標(biāo)值) var nums=[]; //銷量數(shù)組(實(shí)際用來盛放Y坐標(biāo)值) // 使用剛指定的配置項(xiàng)和數(shù)據(jù)顯示圖表。
這個(gè)是echarts的基本框架具體的數(shù)值要通過ajax向servlet發(fā)送請(qǐng)求從而獲取數(shù)據(jù)庫的數(shù)據(jù),
$.ajax({ type : 'post', async : true, //異步請(qǐng)求(同步請(qǐng)求將會(huì)鎖住瀏覽器,用戶其他操作必須等待請(qǐng)求完成才可以執(zhí)行) url : 'search', //請(qǐng)求發(fā)送到TestServlet處 success : function(resultJson) { var result= jQuery.parseJSON(resultJson); //請(qǐng)求成功時(shí)執(zhí)行該函數(shù)內(nèi)容,result即為服務(wù)器返回的json對(duì)象 if (result) { for(var i=0;i<result.length;i++){ names.push(result[i].name); //挨個(gè)取出類別并填入類別數(shù)組 nums.push(result[i].value); } myChart.hideLoading(); //隱藏加載動(dòng)畫 myChart.setOption({ //加載數(shù)據(jù)圖表 xAxis: { data: names }, series: [{ // 根據(jù)名字對(duì)應(yīng)到相應(yīng)的系列 name: ’確診人數(shù)’, data: nums }] });} }, error : function(errorMsg) { //請(qǐng)求失敗時(shí)執(zhí)行該函數(shù) alert('圖表請(qǐng)求數(shù)據(jù)失敗!'); myChart.hideLoading(); } });
在servlet里面要將數(shù)據(jù)放回成json格式
request.setCharacterEncoding('UTF-8'); response.setContentType('text/html;charset=utf-8'); System.out.println('1515'); List<Data> Data = null; Data = DBUtil.getAll(); List<Mydata> mydata = new ArrayList<Mydata>(); for (Data data : Data) { Mydata info = new Mydata(); info.setName(data.getProvince()); info.setValue(data.getConfirmed()); mydata.add(info); } Gson gson = new Gson(); String json = gson.toJson(mydata); System.out.println(json); response.getWriter().write(json);
這里還要注意要想用json格式必須導(dǎo)入json所需要的包,否則會(huì)顯示錯(cuò)誤。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. JSP+Servlet實(shí)現(xiàn)文件上傳到服務(wù)器功能2. WML語言的基本情況3. JavaScript與JQuery框架基礎(chǔ)入門教程4. 如何通過vscode運(yùn)行調(diào)試javascript代碼5. 利用CSS3新特性創(chuàng)建透明邊框三角6. 詳解盒子端CSS動(dòng)畫性能提升7. ajax post下載flask文件流以及中文文件名問題8. ASP中解決“對(duì)象關(guān)閉時(shí),不允許操作。”的詭異問題……9. XML基本概念XPath、XSLT與XQuery函數(shù)介紹10. Ajax實(shí)現(xiàn)頁面無刷新留言效果
