我正在使用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
答案 0 :(得分:2)
相关代码并未包含在问题中,但我会解决此问题。
您正在使用baseSettings
对象和自定义设置对象(让我们称之为customSettings
)来形成图表。使用jQuery extend
函数合并这两个单独的设置。
您的问题是,当baseSettings
和customSettings
都包含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)。