0

我正在尝试制作一个简单的页面,其中在页面加载和两个按钮上会有一个 Highstock 图表,一个用于删除图形,另一个用于重新加载它。但是,一旦单击第一个按钮以清除内部图表的容器,随后单击第二个按钮不会重新加载图表。我怎样才能重新加载它?小提琴位于http://jsfiddle.net/Cupidvogel/DCkmN/

4

2 回答 2

3

当您出于某种原因清除它时,您会丢失图表选项数组。您可以像这样在函数本身中创建它。

或者更好的是把它移到它自己的函数中,这样你就可以像这样重用它。

于 2012-08-06T20:24:32.640 回答
1

如果您调试,您会看到 chartingOptions 没有被清除。它的系列属性在构造函数调用后立即变为空。对我来说似乎是一个错误。或者可能是为了避免克隆系列选项中包含的大量数据,而只是使用相同的对象来绘制图表。

这就是源代码所说的,

 userOptions.series = null; 

userOptions.series 属性在被复制后被故意设置为 null 以进行构造。

    /**
    * The chart class
    * @param {Object} options
    * @param {Function} callback Function to run when the chart has loaded
    */
    function Chart(userOptions, callback) {
    // Handle regular options
    var options,
    seriesOptions = userOptions.series; // skip merging data points to increase performance
    userOptions.series = null;  
于 2012-08-06T20:49:11.640 回答