HighStock 开始月份 rangeSelector 和 series.compare 在初始加载时不工作
HighStock Start Month rangeSelector And series.compare Not Working on Initial Load
我们正在努力创建一个股票图表,显示几个项目的偶数及其相对百分比随时间的变化。数据是每月的,我们有一个范围选择器设置为允许 6 个月、9 个月、1 年和所有数据。在初始加载时,我们选择 6 个月的范围。我们注意到一些奇怪的效果。这是代表问题的示例 jsFiddle:
http://jsfiddle.net/wergeld/wq7eavq4/
范围选择器代码:
rangeSelector: {
inputEnabled: false,
allButtonsEnabled: false,
buttons: [{
type: 'month',
count: 6,
text: '6 Months'
}, {
type: 'month',
count: 9,
text: '9 Months'
}, {
type: 'year',
count: 1,
text: 'Year'
}, {
type: 'all',
text: 'All'
}],
buttonTheme: {
width: 60
},
selected: 0
},
1) 在初始加载时,0% "start" 出现在 2014 年 10 月的数据点中,相对百分比变化是从这一点开始计算的。然而,图表中显示的第一个点实际上是 2014 年 9 月。这与(我猜)2014 年 10 月相比有一些变化。
2) 当我们将选择更改为 9 个月范围选择器时,我们看到 2014 年 6 月的第一个点是 0% 值。然后,如果我们单击返回 6 个月范围选择器值,您可以看到现在我们将 2014 年 9 月设为 0%,之后的百分比差异都与初始加载时不同。
我的问题是:
一个。为什么当我将那个 rangeSelector
的计数设置为 6 时显示 7 个月,为什么当我将另一个范围选择器设置为 9 个月时显示 10 个月?基本上对于给定的 rangeSelector.count
我得到的比我预期的多 1。
b。为什么初始加载时的 0% 点与我单击超出该范围并返回该范围时的不同?
这与两个错误有关:
这是由于在图表完全呈现之前在核心中设置了极值造成的。可能的解决方法是放弃 selected
选项并创建您自己的选项来处理此问题:http://jsfiddle.net/wq7eavq4/6/
chart: {
events: {
load: function () {
var selected = this.options.rangeSelector.selectedAfter,
undefined;
if (selected !== undefined) this.rangeSelector.clickButton(selected, true); //set when defined
}
}
},
rangeSelector: {
selectedAfter: 1 // custom param
},
唯一的缺点是缺少初始动画。
我们正在努力创建一个股票图表,显示几个项目的偶数及其相对百分比随时间的变化。数据是每月的,我们有一个范围选择器设置为允许 6 个月、9 个月、1 年和所有数据。在初始加载时,我们选择 6 个月的范围。我们注意到一些奇怪的效果。这是代表问题的示例 jsFiddle: http://jsfiddle.net/wergeld/wq7eavq4/
范围选择器代码:
rangeSelector: {
inputEnabled: false,
allButtonsEnabled: false,
buttons: [{
type: 'month',
count: 6,
text: '6 Months'
}, {
type: 'month',
count: 9,
text: '9 Months'
}, {
type: 'year',
count: 1,
text: 'Year'
}, {
type: 'all',
text: 'All'
}],
buttonTheme: {
width: 60
},
selected: 0
},
1) 在初始加载时,0% "start" 出现在 2014 年 10 月的数据点中,相对百分比变化是从这一点开始计算的。然而,图表中显示的第一个点实际上是 2014 年 9 月。这与(我猜)2014 年 10 月相比有一些变化。
2) 当我们将选择更改为 9 个月范围选择器时,我们看到 2014 年 6 月的第一个点是 0% 值。然后,如果我们单击返回 6 个月范围选择器值,您可以看到现在我们将 2014 年 9 月设为 0%,之后的百分比差异都与初始加载时不同。
我的问题是:
一个。为什么当我将那个 rangeSelector
的计数设置为 6 时显示 7 个月,为什么当我将另一个范围选择器设置为 9 个月时显示 10 个月?基本上对于给定的 rangeSelector.count
我得到的比我预期的多 1。
b。为什么初始加载时的 0% 点与我单击超出该范围并返回该范围时的不同?
这与两个错误有关:
这是由于在图表完全呈现之前在核心中设置了极值造成的。可能的解决方法是放弃 selected
选项并创建您自己的选项来处理此问题:http://jsfiddle.net/wq7eavq4/6/
chart: {
events: {
load: function () {
var selected = this.options.rangeSelector.selectedAfter,
undefined;
if (selected !== undefined) this.rangeSelector.clickButton(selected, true); //set when defined
}
}
},
rangeSelector: {
selectedAfter: 1 // custom param
},
唯一的缺点是缺少初始动画。