将HighCharts与Backbone一起使用

时间:2013-12-05 01:30:51

标签: javascript twitter-bootstrap backbone.js highcharts

我已经使用Bootstrap UI和Backbone JS为我的新网站部署了一个网站。我想在页面上加载示例/演示图表。我没有找到关于相同的教程。有人可以帮我吗?

这是我尝试在我的网站上加载的示例代码:

http://jsfiddle.net/gh/get/jquery/1.9.1/highslide-software/highcharts.com/tree/master/samples/highcharts/demo/line-basic/

<div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div>

1 个答案:

答案 0 :(得分:15)

您可以使用视图的“渲染”方法初始化高级图表:

$(function () {

    var DataModel = Backbone.Model.extend({});

    var DataCollection = Backbone.Collection.extend({
        model: DataModel
    });

    var DataView = Backbone.View.extend({
        el: '#container',
        initialize: function (options) {
            this.data = options.data;
        },
        render: function () {
            this.$el.highcharts({
                title: {
                    text: 'Monthly Average Temperature',
                    x: -20 //center
                },
                subtitle: {
                    text: 'Source: WorldClimate.com',
                    x: -20
                },
                xAxis: {
                    categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
                        'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
                },
                yAxis: {
                    title: {
                        text: 'Temperature (°C)'
                    },
                    plotLines: [{
                        value: 0,
                        width: 1,
                        color: '#808080'
                    }]
                },
                tooltip: {
                    valueSuffix: '°C'
                },
                legend: {
                    layout: 'vertical',
                    align: 'right',
                    verticalAlign: 'middle',
                    borderWidth: 0
                },
                series: this.data.toJSON()
            });
        }
    });

    var items = new DataCollection([{
        name: 'Tokyo',
        data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]
    }, {
        name: 'New York',
        data: [-0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5]
    }, {
        name: 'Berlin',
        data: [-0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6, 17.9, 14.3, 9.0, 3.9, 1.0]
    }, {
        name: 'London',
        data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8]
    }]);

    var view = new DataView({ data: items });

    view.render();

});

以下是实例:jsfiddle