如何使 Highstocks 的 x 轴均匀且规则?
How to make a Highstocks x-axis even and regular?
我正在使用 JavaScript 的 highstocks
库来渲染作为学校项目的一部分收集的一些数据。
虽然 highstocks
已经证明很好,但 x 轴正在运行。
由于干扰,收集到的数据并不总是间隔整齐,我希望图表能反映这一点。
目前,x 轴 "jumps" 个位置。
我想要一个刻度均匀分布的规则 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(link 禁用,因为我只能 post 2 links...)
代码托管在 GitHub 上,可在此处找到:
https://github.com/dkkline/CanSat14-15/tree/master/presenter
问题中没有包含相关代码,但我会解决这个问题。
您正在使用 baseSettings
对象和自定义设置对象(我们称它们为 customSettings
)来形成图表。使用 jQuery extend
函数合并这两个单独的设置。
你的问题是,当 baseSettings
和 customSettings
都包含 xAxis
属性时,它们将不会被合并,因为你没有使用 deep
变体extend
函数。
简而言之,您目前拥有的是:
$(domIdent).highcharts('StockChart', $.extend({}, baseSettings, {
// Custom settings
}));
而是使用这个(true
添加为 extend
的第一个参数):
$(domIdent).highcharts('StockChart', $.extend(true, {}, baseSettings, {
// Custom settings
}));
请参阅 the jQuery API 了解有关其工作原理的详细信息,以及您当前设置无法正常工作的原因。
参数汇总:
deep
Type: Boolean
If true, the merge becomes recursive (aka. deep copy).
我正在使用 JavaScript 的 highstocks
库来渲染作为学校项目的一部分收集的一些数据。
虽然 highstocks
已经证明很好,但 x 轴正在运行。
由于干扰,收集到的数据并不总是间隔整齐,我希望图表能反映这一点。
目前,x 轴 "jumps" 个位置。
我想要一个刻度均匀分布的规则 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(link 禁用,因为我只能 post 2 links...)
代码托管在 GitHub 上,可在此处找到: https://github.com/dkkline/CanSat14-15/tree/master/presenter
问题中没有包含相关代码,但我会解决这个问题。
您正在使用 baseSettings
对象和自定义设置对象(我们称它们为 customSettings
)来形成图表。使用 jQuery extend
函数合并这两个单独的设置。
你的问题是,当 baseSettings
和 customSettings
都包含 xAxis
属性时,它们将不会被合并,因为你没有使用 deep
变体extend
函数。
简而言之,您目前拥有的是:
$(domIdent).highcharts('StockChart', $.extend({}, baseSettings, {
// Custom settings
}));
而是使用这个(true
添加为 extend
的第一个参数):
$(domIdent).highcharts('StockChart', $.extend(true, {}, baseSettings, {
// Custom settings
}));
请参阅 the jQuery API 了解有关其工作原理的详细信息,以及您当前设置无法正常工作的原因。
参数汇总:
deep
Type: Boolean
If true, the merge becomes recursive (aka. deep copy).