清单后不显示Highstock图表

时间:2012-08-06 20:20:13

标签: javascript jquery highcharts highstock

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

2 个答案:

答案 0 :(得分:3)

当您因某种原因清除图表选项数组时,您将丢失它。您可以在函数本身中创建它,如this

或者更好的是将它移动到它自己的功能中,这样你就可以像this那样重复使用它。

答案 1 :(得分:1)

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

这是源代码所说的,

 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;