1. 程式人生 > >Echarts的使用以及動態載入資料

Echarts的使用以及動態載入資料

一、Echarts的介紹

ECharts開源來自百度商業前端資料視覺化團隊,基於html5 Canvas,是一個純Javascript圖表庫,提供直觀,生動,可互動,可個性化定製的資料視覺化圖表。創新的拖拽重計算、資料檢視、值域漫遊等特性大大增強了使用者體驗,賦予了使用者對資料進行挖掘、整合的能力。—— 大資料時代,重新定義資料圖表的時候到了(ps:來自網路)
自己最近使用echarts對中國石化客戶關係進行視覺化分析,結合官網學習了ECharts 中實現非同步資料,然後自己作為小白在這裡總結下使用方法。
官方文件:Echart3官方文件.Echart2官方文件.

二、Echarts的使用

1、官方下載
Echarts3.0的完整版下載
2、頁面引入Echart.js和JQuery(非同步載入使用)

<script src="../js/jquery-3.1.1.min.js"></script>
<script src="../js/echarts.min.js"></script>

並準備一個div容器

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

3、echart例項初始化設定,然後非同步請求資料,畫一張柱狀圖

關於幾個配置項的解釋:
title:圖片的名稱
legend:圖例元件,可以通過點選圖例控制哪些系列不顯示
xAxis:直角座標系 grid 中的 x 軸
yAxis:直角座標系 grid 中的 y 軸
series:系列列表。每個系列通過 type 決定自己的圖表型別,這裡是柱狀圖‘bar’

    <script>
        myChart=echarts.init(document.getElementById('main'));//獲取容器
        //先設定完其它的樣式,顯示一個空的直角座標軸,然後獲取資料後填入資料
        myChart.setOption({
            title: {
                text: '非同步資料載入示例'
            },
            tooltip: {},
            legend: {
                data:['銷量'
] }, xAxis: { data: [] }, yAxis: {}, series: [{ name: '銷量', type: 'bar', data: [] }] }); // 非同步載入json格式資料 $.getJSON('http://localhost:63342/echart/loaddata/client.php',function(data){ myChart.setOption({ xAxis: { data: data.categories }, series: [{ // 根據名字對應到相應的系列 name: '銷量', data: data.data }] }); });
</script> </body> </html>

4、通過PHP進行後臺資料處理:client.php

<?php
#連線資料庫
$conn=mysqli_connect('localhost','root','root','demo');
if($conn->connect_errno){
    die('連線失敗'.$conn->connect_errno);
}
#設定字符集
$conn->set_charset('utf8');
#查詢資料
$sql='select * from clothes';
$result=mysqli_query($conn,$sql);
#將資料轉化成json格式
$json_data=array('categories'=>array(),'data'=>array());
while ($row=mysqli_fetch_array($result,MYSQLI_ASSOC)){
    array_push($json_data['data'],intval($row['data']));//將字串轉化為數值
    array_push($json_data['categories'],$row['categories']);
}
echo json_encode($json_data);//列印編碼後的json字串*/
?>

其中段程式碼,主要是將資料庫的對應欄位的每一列提取出來,然後放在關聯數組裡

 while ($row=mysqli_fetch_array($result,MYSQLI_ASSOC)){
    array_push($json_data['data'],intval($row['data']));//將字串轉化為數值
    array_push($json_data['categories'],$row['categories']);
}

最後這是我們想要的json資料格式
想要的資料格式

5、資料庫設計

注意:這裡“data”是整形,要使用intval()方法轉化下

資料庫資料
6、最終效果

效果

相關推薦

Echarts的使用以及動態載入資料

一、Echarts的介紹 ECharts開源來自百度商業前端資料視覺化團隊,基於html5 Canvas,是一個純Javascript圖表庫,提供直觀,生動,可互動,可個性化定製的資料視覺化圖表。創新的拖拽重計算、資料檢視、值域漫遊等特性大大增強了使用者

【mpvue】實現echarts圖表動態載入資料

功能描述 使用mpvue框架開發微信小程式。目的效果為小程式中顯示一個折線圖,當點選切換按鈕時,切換圖表。 實現步驟 1.查詢mpvue官方文件關於echarts的實現方式------靜態載入圖表,只加載一次 2.實現動態載入圖表(能夠根據需求多次繪製圖表) 思

使用Echarts圖表動態載入餅圖資料 pie

//JS成功後的程式碼functionbind(result){// 基於準備好的dom,初始化echarts圖表var TypeSalesChart = echarts.init(document.getElementById('main')); var option = { too

ECharts動態載入資料(簡單)

常規 html //html中的內容很簡單 <div id="main" style="width: 600px;height:400px;"></div> js庫匯入 //匯入相關指令碼 <script type="t

hive 動態載入資料到指定分割槽,以及其他hive使用的技巧

Loading data to table obd_message.device_status_log partition (date=null)          Time taken for load dynamic partitions : 4073         Loading partition

ECharts通過Ajax動態載入資料到圖表

參考官網:http://echarts.baidu.com/echarts2/doc/doc.html#引入ECharts2 要展示的圖表像這樣: 現在開始前後端程式碼展示。by the way,使用的開發框架為nutz,重點還是echarts資料。不要本末倒置。

Echarts動態載入資料

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <!-- 引入 echarts.js -->

echarts動態載入資料,顯示柱狀圖,餅圖圖表

第一次寫部落格,有點小激動。公司正在開發的web版固定資產管理軟體,需要做報表,需要直觀的顯示一些領導感興趣的資料。就想到百度的echarts啦,關於echarts的更多資訊請移步echarts首頁。  言歸正傳。第一步,在jsp頁面,需要引入esl.js,它是一個瀏覽器端

highcharts click事件獲取資料傳給datagrid ,動態載入資料

點選highcharts的柱子 會觸發click事件,並將資料傳給後臺獲取到相應部門下的所有員工資訊顯示在datagrid 如下:新增在charts的初始化裡 [java]  view plain  copy

Ext選項卡tabpanel切換動態載入資料

鳴人不說暗話,來張圖:程式碼開始:(使用Ext,ajax載入資料,如果你們有好的方法也可以多多交流)var tabxsk = new Object(); //初始化 tabxsk.init = function () { test.pageSize = Math.floor((d_right_h

thinkphp+ajax 移動端實現滾動到底部載入資料(無重新整理動態載入資料技術的應用)

監聽滾動條的js檔案地址:http://ons.me/526.html 1、dropload.css檔案 .dropload-up,.dropload-down{     position: relative;     height: 0; &n

python:爬蟲之Post請求以及動態Ajax資料的爬取(3)

#爬蟲的post方式 作用:對引數進行打包反饋給伺服器 import urllib.request import urllib.parse #對引數打包 url = "http://www.sunck.wang:8085/form" data = { "use

javascript操作向表格中動態載入資料

首先在HTML中編寫表格資訊 <table width="500px" border="1"> //表格頭部資訊 <thead> <tr> <th>編號</th

datagrid動態載入資料分頁下載EasyUI外掛

這是完整的前臺程式碼 <!DOCTYPE html> <html> <head id="Head1">     <title>StencilControl</title>     <script src="/

android折線圖ichartjs的動態載入資料

之間給大家分享過一個html寫的折線圖,再將折線圖利用webview放在手機中,原來的那個折線圖中的x軸座標在html中已經被寫死,這樣就帶來了操作的不變,程式碼的靈活性也隨之降低。比如,我需要檢視今天的溫度,可是現在是晚上7點,今天還沒有過完,那麼問題來了,怎

單檔案元件(.vue)在指定位置處掛載,以及動態載入元件

title: 單檔案元件(.vue)在指定位置處掛載,以及動態載入元件 tags: vue,掛載,SCF,動態載入元件 grammar_cjkRuby: true SCF指定位置掛載(延遲掛載)   當使用Vue的自定義元件,做類似於JQuery那種現在js新建節點,然後加到頁

echarts例項 動態更新 資料問題,點選事件觸發多次

function reloadTable() { var iii = layer.load(1, {shade: [0.1,'#fff'] });//提交的動畫 url = "change/query?selectType=" + $("#select

echarts ajax 動態獲取資料

keys 和 values 都是動態資料 注意如果資料是{value:335, name:'直接訪問'}這種格式 需要使用eval('(' + strtojson + ')') 轉一下//載入圖表 start $(function(){ $.ajax(

bootstrap table動態載入資料

點選選擇按鈕,彈出模態框,加載出關鍵詞列表 TABLE樣式: <div class="modal fade " id="ClickModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" a

Jquery chosen動態設定值 select Ajax動態載入資料 設定chosen和獲取他們選中的值

  在做一個編輯對話方塊時,要對裡面帶有select option的操作。主要是想動態載入option和對option的選中。但是由於專案中使用了jquery裡的chosen()方法,怎麼也無法實現效果。原碼如下: Java程式碼   <select id="viewOLanguage"