谷歌电子表格JSON的高股价图表

Highstock charts with Google Spreadsheet JSON

本文关键字:高股价 电子表格 JSON 谷歌      更新时间:2023-09-26

我试图用电子表格中提供的数据绘制图表,我的第一个问题是JSON提要。

  1. 如果我把钥匙放在谷歌Json样本中,它什么也不会给我。但是,如果我在浏览器中粘贴地址,我可以清楚地看到JSON提要。

  2. 然后我把它插入Highcharts页面的一个例子中,它没有加载。

Fiddle演示。

$(function() {
    $.getJSON('https://spreadsheets.google.com/feeds/list/1zgfoS-vYXU_SKDyYEa2fUh6zIaluynibs75a2zZIclI/od6/public/values?alt=json-in-script&callback=?', function(data) 
    {   
        // Add a null value for the end date 
        data = [].concat(data, [[Date.UTC(2015, 9, 14, 19, 59), null, null, null, null]]);
        // create the chart
        $('#container').highcharts('StockChart', {
            chart : {
                type: 'spline',
                zoomType: 'x'
            },
            navigator : {
                adaptToUpdatedData: false,
                series : {
                    data : data
                }
            },
            scrollbar: {
                liveRedraw: false
            },
            title: {
                text: 'AAPL history by the minute from 1998 to 2011'
            },
            subtitle: {
                text: 'Displaying 1.7 million data points in Highcharts Stock by async server loading'
            },
            rangeSelector : {
                buttons: [{
                    type: 'hour',
                    count: 1,
                    text: '1h'
                }, {
                    type: 'day',
                    count: 1,
                    text: '1d'
                }, {
                    type: 'month',
                    count: 1,
                    text: '1m'
                }, {
                    type: 'year',
                    count: 1,
                    text: '1y'
                }, {
                    type: 'all',
                    text: 'All'
                }],
                inputEnabled: false, // it supports only days
                selected : 4 // all
            },
            xAxis : {
                events : {
                    afterSetExtremes : afterSetExtremes
                },
                minRange: 3600 * 1000 // one hour
            },
            series : [{
                data : data,
                dataGrouping: {
                    enabled: false
                }
            }]
        });
    });
});

/***根据选定的最小值和最大值加载新数据*/

function afterSetExtremes(e) {
    var currentExtremes = this.getExtremes(),
        range = e.max - e.min,
        chart = $('#container').highcharts();
    chart.showLoading('Loading data from server...');
    $.getJSON('https://spreadsheets.google.com/feeds/list/1zgfoS-vYXU_SKDyYEa2fUh6zIaluynibs75a2zZIclI/od6/public/values?alt=json-in-script&callback=?', function(data) 
    {
        chart.series[0].setData(data);
        chart.hideLoading();
    });
}

有人能告诉我问题出在哪里,或者提供一个替代方案吗?

您需要从电子表格中引用正确的值,因为这样您就有了奇怪的对象。我建议解析这个json以实现array,[x,y]或只向数据返回y值。