如何使Highstocks x轴均匀而规则?

时间:2015-06-22 13:21:36

标签: javascript highcharts ordinal

我正在使用JavaScript的highstocks库来呈现作为学校项目的一部分收集的一些数据。

虽然事实证明highstocks很棒,但x轴正在起作用。

由于干扰,收集的数据并不总是整齐的间隔,我希望图表能够反映出来。

目前,x轴"跳跃"在某些地方。

我希望有一个规则间隔刻度的常规x轴。

目前ordinal值设置为false,我希望能够修复x轴。

设置相关设置:

var baseSettings = {
    rangeSelector: {
        enabled: false
    },

    exporting: {
    enabled: false
    },

    credits: {
        enabled: false
    },

    xAxis: {
         ordinal: false
    }
};

我觉得我此时已尝试过各种可能的设置排列 - 也许更有经验的人可以让我走上正确的道路?

可以在此处找到问题的图像: https://imgur.com/UUE50iF

该网站可在此处找到: cansat.sg.dk/graph/andoeya_droptest(链接已禁用,因为我只能发布2个链接...)

代码托管在GitHub上,可在此处找到: https://github.com/dkkline/CanSat14-15/tree/master/presenter

1 个答案:

答案 0 :(得分:2)

相关代码并未包含在问题中,但我会解决此问题。

您正在使用baseSettings对象和自定义设置对象(让我们称之为customSettings)来形成图表。使用jQuery extend函数合并这两个单独的设置。

您的问题是,当baseSettingscustomSettings都包含xAxis属性时,它们将不会合并,因为您没有使用deep extend变体{1}}功能。

简而言之,您目前拥有:

$(domIdent).highcharts('StockChart', $.extend({}, baseSettings, {
    // Custom settings
}));

相反,请使用此项(true作为extend的第一个参数添加):

$(domIdent).highcharts('StockChart', $.extend(true, {}, baseSettings, {
    // Custom settings
}));

请参阅the jQuery API,详细了解其工作原理以及当前设置无法正常运行的原因。

参数摘要:

  

<强>深

     

类型:布尔值

     

如果为true,则合并将变为递归(aka。deep copy)。