1. 程式人生 > >ECharts動態資料+時間軸+dataZoom

ECharts動態資料+時間軸+dataZoom

<!DOCTYPE html>
<html lang="en"  style="height: 100%">
<head>
    <meta charset="UTF-8">
    <title>Map</title>
    <style>
        body{
            position: relative;
            font-family: "Microsoft YaHei UI";
            /*background-color: #000000;*/
        }
        *{
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        ul,li{
            list-style: none;
        }
        .clear:after{
            display: block;
            content: "";
            clear:both;
        }
        #chart{
            width: 99%;
            height: 80%;
        }
        #timeSpan{
            margin-top: 2%;
        }
        #timeSpan>li{
            float: left;
            width: 100px;
            height: 20px;
            border-radius: 5px;
            background-color: #95BB2F;
            text-align: center;
            cursor: pointer;
            margin-left: 50px;
        }
    </style>
    <script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/echarts.min.js"></script>
    <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
</head>
<body style="height: 100%; margin: 0;min-width: 1200px;min-height: 770px">
<ul id="timeSpan" class="clear">
    <li>5min</li>
    <li>10min</li>
    <li>15min</li>
    <li>30min</li>
</ul>
<div id="chart"></div>


<script>
    $(function () {
        // var data123 = [
        //     { value: [ '2016/2/18 03:00:00', 363 ] },
        //     { value: [ '2016/2/18 04:00:00', 384 ] },
        //     { value: [ '2016/2/18 05:00:00', 371 ] },
        // ];
        var data_in = [
            918.32,
            902.51,
            900.41,
            873.43,
            885.39,
            897.63,
            892.44,
            879.04,
            850.83,
            848.52,
            844.87,
            834.54,
            832.48,
            815.48,
            811.23,
            821.20,
            805.10,
            794.49,
            801.23,
            788.80,
            769.70,
            789.80,
            763.46,
            758.57,
            773.49,
            764.45,
            739.66,
            757.55,
            731.12,
            724.06,
            732.70,
            723.80,
            714.91,
            723.46,
            705.10,
            708.90,
            723.75,
            703.06,
            684.51,
            692.63,
            683.14,
            671.95,
            691.97,
            684.04,
            667.59,
            688.56,
            659.01,
            652.39,
            670.98,
            638.10,
            655.85,
            627.21,
            648.82,
            631.68,
            614.94,
            642.69,
            626.22,
            613.44,
            641.15,
            613.90,
            601.39,
            623.22,
            602.94,
            589.90,
            612.01,
            590.85,
            591.51,
            585.67,
            559.47,
            557.43,
            518.20,
            504.63,
            506.67,
            512.66,
            440.93,
            614.94,
            642.69,
            626.22,
            613.44,
            641.15,
            613.90,
            601.39,
            623.22,
            602.94,
            598.28,
            593.18,
            625.85,
            625.43,
            611.52,
            660.33,
            669.41,
            707.86,
            729.56,
            728.72,
            770.35,
            800.78,
            791.52,
            797.62,
            808.94,
            625.43,
            611.52,
            660.33,
            669.41,
            707.86,
            729.56,
            728.72,
            770.35,
            800.78,
            676.64,
            598.28,
            593.18,
            625.85,
            625.43,
            611.52,
            660.33,
            669.41,
            707.86,
            729.56,
            728.72,
            770.35,
            800.78,
            791.52,
            797.62,
            808.94,
            817.76,
            797.77,
            806.65,
            763.81,
            771.01,
            796.27,
            777.58,
            776.37,
            821.18,
            814.54,
            832.37,
            853.91,
            870.55,
            861.75,
            888.66,
            888.60,
            910.95,
            934.58,
            920.79,
            923.61,
            921.88,
            1096.03,
            1041.94,
            951.67,
            932.29,
            935.73,
            941.29,
            944.34,
            965.24,
            928.95,
            943.34,
            968.91,
            977.17,
            941.77,
            964.47,
            964.86,
            926.30,
            929.23,
            934.07,
            974.39,
            977.48,
            953.90,
            929.79,
            948.32,
            943.09,
            933.89,
            948.30,
            934.66,
            936.59,
            958.61,
            930.23,
            927.04,
            966.15,
            923.08,
            887.60,
            924.59,
            909.70,
            889.48,
            892.51,
            906.88,
            907.99,
            927.54,
            902.11,
            902.41,
            940.20,
            937.34,
            952.79,
            952.53,
            944.37,
            952.09,
            924.20,
            924.65,
            939.26,
            967.97,
            988.18,
            1017.07,
            1007.07,
            1014.48,
            1016.72,
            1007.58,
            974.98,
            1053.01,
            1044.22,
            1038.93,
            1029.50,
            1093.14,
            1124.30,
            1120.13,
            1123.74,
            1105.22,
            1132.26,
            1124.54,
            1137.46,
            1177.16,
            1114.36,
            1087.06,
            1096.11,
            1083.61,
            1096.21,
            1069.42,
            1090.59,
            1081.66,
            1095.27,
            1105.93,
            1098.18,
            1102.24,
            1115.35,
            1127.81,
            1139.65,
            1159.92,
            1180.29,
            1157.27,
            1201.08,
            1186.57,
            1200.80,
            1244.75,
            1216.21,
            1199.90,
            1224.75,
            1188.85,
            1180.26,
            1151.10,
            1173.41,
            1156.91,
            1160.99,
            1160.67,
            1158.08,
            1129.06,
            1100.04,
            1068.78,
            1102.13,
            1079.86,
            1029.01,
            1032.81,
            995.74,
            979.22,
            924.57,
            901.16,
            868.52,
            964.42,
            902.96,
            899.91,
            902.52,
            926.63,
            899.92,
            911.75,
            879.48,
            857.78,
            862.70,
            868.01,
            868.61,
            867.72,
            831.92,
            841.49,
            828.46,
            918.32,
            902.51,
            900.41,
            873.43,
            885.39,
            897.63,
            892.44,
            879.04,
            850.83,
            848.52,
            918.32,
            902.51,
            900.41,
            873.43,
            885.39,
            897.63,
            892.44,
            879.04,
            850.83,
            848.52,
            844.87,
            834.54,
            832.48,
            815.48,
            811.23,
            821.20,
            805.10,
            794.49,
            801.23,
            788.80,
            769.70,
            789.80,
            763.46,
            758.57,
            773.49,
            764.45,
            739.66,
            757.55,
            731.12,
            724.06,
            732.70,
            723.80,
            714.91,
            723.46,
            705.10,
            708.90,
            723.75,
            703.06,
            684.51,
            692.63,
            683.14,
        ];
        var oneDay = 24 * 3600 *1000;
        var fiveMinutes = 300 * 1000;
        var timestr = '2016/2/18 00:00:00';
        var startTime = +new Date(timestr)-fiveMinutes;

        //把new Date出來的時間格式轉換為data123中的日期格式
        function riqigeshi(now){
            return now.toLocaleDateString() + ' ' + now.getHours() + now.toLocaleTimeString().substr(-6,6)
        }

        //用來返回data123一樣的資料格式
        function chartData(i,data,now) {
            return {
                value: [
                    riqigeshi(now),
                    data[i]/1024,
                ]
            }
        }

        //把原資料改成data123一樣的格式
        function changeData(datain) {
            var liuru = [];
            for (var i = 0; i < 289; i++) {
                startTime = new Date(+startTime + fiveMinutes);
                liuru.push(chartData(i,datain,startTime));
            }
            return liuru;
        }
        var liuru = changeData(data_in);

        var chart = echarts.init(document.getElementById("chart"));
        var option = {
            grid:{
                x:'3.6%',
                y:'5%',
                x2:'2.4%',
                y2:'12%',
            },
            xAxis:{
                type:'time',
                splitNumber:24
            },
            yAxis:{
                type:'value',
                axisLabel:{
                    formatter:'{value} G'       //給Y軸上的刻度加上單位
                },
            },
            dataZoom: [
                {
                    type: 'slider',//資料滑塊
                    start:0,
                    minSpan:8,    //5min
                    // minSpan:16,   //10min
                    // minSpan:24,   //15min
                    // minSpan:50,   //30min
                    dataBackground:{
                        lineStyle:{
                            color:'#95BC2F'
                        },
                        areaStyle:{
                            color:'#95BC2F',
                            opacity:1,
                        }
                    },
                    // fillerColor:'rgba(255,255,255,.6)'
                },
                {
                    type:'inside'//使滑鼠在圖表中時滾輪可用
                }
            ],
            tooltip:{
                trigger: 'axis',
                formatter : function(params) {
                    var result = params[0].value[0];
                    params.forEach(function(item) {
                        result += '<br/>';
                        result += '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:9px;height:9px;background-color:' + item.color + '"></span>';
                        result += item.seriesName + ":";
                        result += isNaN(item.value[1]) ? 0 : (item.value[1]*1024).toFixed(2) + "M";
                    });
                    return result;
                },
            },
            series:{
                name: '流入',
                type: 'line',
                showSymbol: false,
                symbolSize:12,
                data: liuru,
            }
        };

        chart.setOption(option);

        $("#timeSpan").on('click','li',function () {
            var timeSpan = $(this).html();
            switch(timeSpan){
                case '5min':
                    chart.setOption({
                        dataZoom:[
                            {
                                start:92,
                                end:100
                            }
                        ],
                    });
                    break;
                case '10min':
                    chart.setOption({
                        dataZoom:[
                            {
                                start:84,
                                end:100
                            }
                        ],
                    });
                    break;
                case '15min':
                    chart.setOption({
                        dataZoom:[
                            {
                                start:76,
                                end:100
                            }
                        ],
                    });
                    break;
                case '30min':
                    chart.setOption({
                        dataZoom:[
                            {
                                start:50,
                                end:100
                            }
                        ],
                    });
                    break;
            }
        });

        function refresh() {
            // liuru先shift(),再push()
            var liuruShift = liuru.shift();
            var liuruShiftVal = liuruShift.value[1];
            var newlrtime = riqigeshi(new Date(+new Date(liuruShift.value[0])+oneDay+fiveMinutes));
            liuru.push({value:[newlrtime,liuruShiftVal]});
            chart.setOption({
                series:{
                    data:liuru,
                }
            });
        }

        setInterval(function () {
            refresh();
        },3000);

        window.onresize = function () {
            chart.resize();
        };
    }());

</script>
</body>
</html>

相關推薦

ECharts動態資料+時間+dataZoom

<!DOCTYPE html> <html lang="en" style="height: 100%"> <head> <meta charset="UTF-8"> <title>Map</

echarts通過timeline時間改變圖表的資料,解決X,series問題

問題敘述:通過echarts的時間軸進行資料、X軸座標以及每個option的屬性都不一樣的進行圖表切換。這裡面使用的是echarts2.0版本,可惜的是我鼓搗半天也沒弄出來echarts3.0的timelinechanged方法,希望知道的人可以告知一下。 例如:我想xAx

關於Echarts動態資料之圖形變換

    我使用的是.net作為後臺語言,而與前臺aspx中的js進行資料流通是很多人不知道的地方,那麼我就先從這裡說起。 1. 學過java的都知道java是jsp的指令碼語言,同理.net也是aspx的指令碼語言,例如呼叫後臺陣列使用<%=a

echarts 動態資料互動例項

最近在學習echarts,找到了很多的資料,找起來比較麻煩,為了方便自己以後的使用,特此做個筆記。 首先是echarts如何使用,要先下載echarts相關的包,我這邊提供的是echarts3.0的下載地址:http://echarts.baidu.com/download

echarts折線圖時間展示

[javascript] view plain copy echarts折線圖,我們平時在使用的時候,x軸上面的資料通常會有很多很多,使得x軸上面的資料通常顯示不完整

echarts應用】--橫每五分鐘取一個點,動態時間實現

需求:折線圖需要定點時間(例如五分鐘)取一個點,在一段範圍內(昨天的某個時間點到目前時間或者今天凌晨12點到目前的時間點),這種動態生成的時間軸。 以下以從當天的十二點開始,到當前時間點為止(五分鐘以及其他時間一個道理)的demo 推薦一個很好用的獲取時間以及改變想要的時間格式的外掛mo

Echarts動態載入折線圖X Y資料圖表資料

   前幾天,收到商家的反饋,希望可以有一個直觀的圖表,展示一個時間段裡的銷售額,客數,排班人數,並把銷售高峰期以及時間段反應出來。經同事的介紹,選擇了百度的  echarts,縮寫來自Enterprise Charts,一個純JavaScript的圖表庫。上官網查,官方的

Echarts 通過時間timeline改變xAxis.data資料進行不合並處理

寫在前面:       使用時間軸 timeline 繪製圖形的時候會有一種動態的效果,讓圖形看起來更加生動,也達到了互動式資料的展現。但是在使用 timeline 的時候我遇到了幾個問題,

echarts中視覺映射器(visualMap)與時間(timeline)混用的實現方法

images mon label axis poi max 時間軸 asc clas 1、簡述  echarts中的 timeline 組件,提供了在多個 ECharts option 間進行切換、播放等操作的功能。  與其他組件些不同,它需要操作『多個option』。 所

ECharts xAxis.type='time'時間時卡頓問題

rip 坐標軸 urn UNC htm var EDA () dom 原文首發於我的個人網站: https://lonhon.top/ 卡頓問題出現背景: ECharts^4.0.4 + Vue^2.5.9 option中主要耗能設置為:折線圖 + Y軸2 + serie

開發時間動態顯示圖譜展示功能技術收穫

下面我來總結一下本次開發過程中的收穫,(1)在前端向後端請求資料一般用的都是ajax進行請求,其中有關ajax的知識點我在這裡簡單的談談我現階段比較粗淺的認識,首先ajax預設的是非同步請求,如果想進行同步請求的話要把async設定成false,同步和非同步請求的區別的地方是:用ajax進行同步請求

開發時間動態掃描圖譜展示功能總結

  開發時間軸動態掃描圖譜展示功能已經有大約有35天了,這期間遇到過不少的困難和挑戰,同時也收穫頗豐。最初的狀態是看到後端程式碼的不知所措,看到前端程式碼的一臉茫然,這期間的過程是痛苦的,想盡快完成任務,無奈水平和能力有限,無論怎麼掙扎和努力都進度緩慢。有的時候人必須認清現實,有些事是急不

解決使用echarts動態資料餅圖展示中data如何傳值的問題

** 解決使用echarts做動態資料餅圖展示中data如何傳值的問題 ** 如圖,將所查出的資料以餅圖形式展示 下面是頁面data的傳值方法 這是data,請忽略data裡的那些值。那是用來測試用的, 首先將從資料庫查出的資料裝到兩個list裡面,再通過json傳到前臺。

百度ECharts圖表展示動態資料

百度ECharts是個非常強大的圖表工具,引入百度提供的echarts.min.js檔案後,只需從後臺獲取資料便可以圖表的形式展示資料,能夠更直觀的檢視、比較、統計資料。 這裡以一個柱狀圖展示動態資料的小例子講解如何使用百度ECharts。 1.首先引入需要的js檔案: <

vue專案中使用Echarts 動態更改圖表資料 , Vue 折線圖、柱狀圖等圖表動態重新整理 ,

問題:在vue元件中,用echarts外掛 動態獲取、修改圖表資料 解決:已解決! 第一步:開啟cmd命令視窗 安裝echarts依賴 安裝:npm install echarts -S 第二步:在main.js中全域性引入   //引入echarts的圖表外掛

echarts重新整理資料時x資料不變的問題

寫了一個echarts,再重新整理圖形的時候,發現x軸不變,經過多方查詢發現問題,如下: 開始的時候我的寫法如下, var myChart2 = echarts.init(document.getElementById("charts2"), 'shine'); opti

ECharts動態載入JavaWeb後臺資料,圖表展現

jsp程式碼:(根據官方demo及自己需求,適當修改原始引數,需動態新增的原始測試資料可以不刪,可以覆蓋) <%@ page language="java" contentType="text/html; charset=UTF-8" pageEn

Echarts的用法及動態資料的載入

開啟官網--》點選下載 echarts.js http://www.echartsjs.com/download.html <!DOCTYPE html> <html> <head> <meta charset="UTF-

Echarts 動態從後臺獲取資料進行圖表的展示

前端部分: <!DOCTYPE html>   <head> <meta charset="utf-8"> <title>ECharts</title> </head>   <body>     <!-- 為EChart

[Echarts視覺化] 二.php和ajax連線資料庫實現動態資料視覺化

前一篇文章 "[Echarts視覺化] 一.入門篇之簡單繪製中國地圖和貴州地區" 主要是通過Echarts視覺化介紹入門知識、中國地圖和貴州地區各省份的資料分析,其中貴州地圖才是它的核心內容。這篇文章主要結合PHP、MySQL、JQuery和Ajax從資料庫中獲取資料,動態的