簡體   English   中英

Columnrange上的Highcharts setData不起作用

[英]Highcharts setData on Columnrange not working

非常簡單的問題,嘗試在列范圍圖表上使用setData,但沒有成功:

原始數據:

series: [{
            name: '',
            data: [
                [-9.7, 9.4],

            ],
            color: {
                linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
                stops: [
                    [0, CalculateMidColor('#00ff00', '#ff0000', 0.8, 1)],
                    [1, CalculateMidColor('#00ff00', '#ff0000', 0.2, 1)]
                ]
            }
        }]

嘗試更改數據...

chart.series[0].setData([
                [-19.7, 19.4]             
            ],true);

http://jsfiddle.net/4J452/

在setData上嘗試了數組等的多種變體,但未成功-幫助!

問題是您在DOM准備就緒之前附加了click事件偵聽器,因此該事件未附加任何內容。

您可以通過console.log查看:

console.log($('#button'));
$('#button').click(function() {
    chart.series[0].setData([
        [-19.7, 19.4]             
    ],true);
});

您將在附加點擊偵聽器之前看到,相同的選擇器是一個空數組(請在此JSFiddle示例中檢查您的控制台)。

為了解決這個問題,您可以簡單地將按鈕單擊代碼移動到$(function() { ... }) ,這是jQuery的“ 文檔准備好 ”縮寫。 像這樣:

$(function () {
    ...

    console.log($('#button'));
    $('#button').click(function() {
        chart.series[0].setData([
            [-19.7, 19.4]             
        ],true);
    });
});

如在此JSFiddle示例中 您也可以在此處檢查控制台以查看不同的輸出。

總而言之,您的圖表和setData函數運行正常,但是按鈕只是不執行代碼以更新圖表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM