amCharts 错误缩放开始日期和结束日期
amCharts wrong Zoom startDates and endDates
我正在使用 amCharts 显示股票数据。我有 7 个缩放级别:1H, 1D, 1W, 1M, 3M, 1Y, MAX
。对于 1H、1D,我使用的是包含分钟数据的数据集。对于 1W、1M,我使用了一个不同的数据集,它有按小时计算的数据。对于其余 3 个级别,我有另一个包含每日数据的数据集。现在这是我的问题:
最初,我以默认缩放级别 1D 加载分钟级数据,并将侦听器 "changed"
添加到 chart.periodSelector
,在单击 1W 按钮或任何进一步的缩放级别按钮后,差异生成事件的开始日期和结束日期之间的分钟数:var minsDiff = (event.endDate.getTime() - event.startDate.getTime()) / 60000
始终等于 1 天 (1440) 中的分钟数,而不是 7 天.
我想这可能是因为当前加载的数据集是分钟数据集,最大数据点数为 1440。因此,它可能会将 1 周的日期范围设置为等于 1 天的日期范围,因为只有那么多数据可用。但是我想要的是 1 周的实际日期范围,如果我单击 1W 按钮,因为我想加载具有不同数据集的不同图表(1W 的小时数据)。
我尝试使用图表的监听器 "zoomed"
。但同样的问题仍然存在。
正常情况下,超出范围的时间段是不可见的,除非您设置 hideOutOfScopePeriods
to false. As you noticed, if a period is greater than the amount of data available then the chart will truncate the zoom to fit the data you have. Checking the predifinedPeriod
property in the changed
事件是查看单击哪个按钮的可靠方法,这在数据不一定包含整个时间段的情况下会有所帮助:
listeners: [
{
event: "changed",
method: function(eventObj) {
console.log("clicked " + eventObj.predefinedPeriod);
}
}
]
我正在使用 amCharts 显示股票数据。我有 7 个缩放级别:1H, 1D, 1W, 1M, 3M, 1Y, MAX
。对于 1H、1D,我使用的是包含分钟数据的数据集。对于 1W、1M,我使用了一个不同的数据集,它有按小时计算的数据。对于其余 3 个级别,我有另一个包含每日数据的数据集。现在这是我的问题:
最初,我以默认缩放级别 1D 加载分钟级数据,并将侦听器 "changed"
添加到 chart.periodSelector
,在单击 1W 按钮或任何进一步的缩放级别按钮后,差异生成事件的开始日期和结束日期之间的分钟数:var minsDiff = (event.endDate.getTime() - event.startDate.getTime()) / 60000
始终等于 1 天 (1440) 中的分钟数,而不是 7 天.
我想这可能是因为当前加载的数据集是分钟数据集,最大数据点数为 1440。因此,它可能会将 1 周的日期范围设置为等于 1 天的日期范围,因为只有那么多数据可用。但是我想要的是 1 周的实际日期范围,如果我单击 1W 按钮,因为我想加载具有不同数据集的不同图表(1W 的小时数据)。
我尝试使用图表的监听器 "zoomed"
。但同样的问题仍然存在。
正常情况下,超出范围的时间段是不可见的,除非您设置 hideOutOfScopePeriods
to false. As you noticed, if a period is greater than the amount of data available then the chart will truncate the zoom to fit the data you have. Checking the predifinedPeriod
property in the changed
事件是查看单击哪个按钮的可靠方法,这在数据不一定包含整个时间段的情况下会有所帮助:
listeners: [
{
event: "changed",
method: function(eventObj) {
console.log("clicked " + eventObj.predefinedPeriod);
}
}
]