zoukankan      html  css  js  c++  java
  • DevExtreme 图表组件

    1.第一步

    引用DevExtreme CDN

    第一步是添加 DevExtreme charting JavaScript文件到网站上,惊喜的发现DevExtreme居然有一个CDN(内容分发网络),提供了我需要的JavaScript文件。

    1
    <script type="text/javascript" src="http://cdn3.devexpress.com/jslib/13.1.5/js/dx.chartjs.js"></script>
    2.第二步
     

    创建图表,静态

        
    $("#gamesChartContainer").dxPieChart({
        dataSource: [
            {
                game: "Test game 1",
                viewers: 50,
                channels: 1,
                image: "test-game-1.jpg"
            },
            {
                game: "Test game 1",
                viewers: 50,
                channels: 1,
                image: "test-game-1.jpg"
            }
        ],
        series: [
            {
                argumentField: "game",
                valueField: "viewers",
                label: {
                    visible: true,
                    connector: {
                        visible: true,
                         1
                    }
                }
            }
        ]
    });
    3.第三步
     

    从Twitch.tv读取数据,动态

    现在饼图可以显示静态数据了,要显示实时数据就要调用Twitch.tv's REST API。这个API支持JSONP,所以可以使用jQuery从JavaScript中直接调用服务。
    var ds = [];
    $.getJSON("https://api.twitch.tv/kraken/games/top?callback=?"function (json) {
      
        for (var i = 0; i < json.top.length; i++) {
            ds.push({
                game: json.top[i].game.name,
                viewers: json.top[i].viewers,
                channels: json.top[i].channels,
                image: json.top[i].game.box.large
            });
        }
    });
    4.第四步
     

    交互式图表

    下面我将要创建一个面积图,用于展示一个视频游戏随着时间推移所增加的浏览数。图表开始的时候是没有任何数据的,但每个数秒中就会调用一次 Twitch API ,并返回浏览数量,同时动态更新面积图:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $("#streamChartContainer").dxChart({
        title: "Viewers",
        commonSeriesSettings: {
            type: "splineArea",
            argumentField: "date"
        },
        series: [
            { valueField: "viewers", name: "Viewers" }
        ],
        argumentAxis: { valueMarginsEnabled: false },
        legend: { visible: false },
        animation: { enabled: false }
    });

    注意在上面的代码中没有数据源,数据是从 Twitch API 中进行检索的。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    var dataSource = [];
      
    function getStreamData() {
        $.getJSON("https://api.twitch.tv/kraken/streams/" + name + "?callback=?"function (json) {
      
            var viewers = json.stream.viewers;
      
            dataSource.push({
                date: new Date(),
                viewers: viewers
            });
      
            $('#streamChartContainer').dxChart('option''dataSource', dataSource);
        });
    }
      
    setInterval(function () {
        getStreamData();
    }, 5000);

    面积图:

    DevExtreme,面积图,Viewers,动态图表

  • 相关阅读:
    (转)SVN命令详解
    CentOS 64位系统安装32位兼容库
    Eclipse4.4 Tomcat插件下载地址
    记:Android 安装apk的代码实现
    记: Android adb远程调试
    记:Ubuntu14.04 Android加载项目失败
    记:Ubuntu 14.04 安装32位库支持库失败
    记:Android 服务站 问题记录与解决方案
    记:Android 知识点整理 20140329
    微信小程序和微信公众号的id是一个吗
  • 原文地址:https://www.cnblogs.com/baiyanjun/p/8979374.html
Copyright © 2011-2022 走看看