Amcharts "TypeError: this.chart.zoomToDates is not a function"
Amcharts "TypeError: this.chart.zoomToDates is not a function"
我正在尝试按照 this 入门教程创建外部缩放控件。
我有 3 个按钮
<v-btn v-on:click="showPeriod('1 month')">1 month</v-btn>
<v-btn v-on:click="showPeriod('3 month')">3 month</v-btn>
<v-btn v-on:click="showPeriod('6 month')">6 month</v-btn>
和 eventListener
showPeriod
showPeriod: function(period) {
console.log("Periods", this.periods)
if (period != 'All'){
this.changeDataZoom(this.periods[period])
}
else {
//Logic fot 'ALL' period
}
},
changeDataZoom: function (rawPeriod) {
let regex = /([0-9]{2,4}[\-][0-9]{2}[\-][0-9]{2}).*?/g
let periods = []
rawPeriod.match(regex).forEach(function (period) {
periods.push(moment(period,"YYYY-MM-D").format("YYYY-MM-DD"))
})
//Periods ["2018-01-26", "2018-07-27"]
this.chart.zoomToDates(periods[0], periods[1])
},
但是当我尝试调用 this.chart.zoomToDates
时出现错误 "TypeError: this.chart.zoomToDates is not a function"
我也尝试使用 AmCharts.stringToDate
将字符串转换为日期,但它也没有帮助我。
Link 重现错误
P.S。我知道 periods
属性 - 但在这种情况下,1 个月实际上不是日历月,所以我需要手动指定日期。
Codepen 使用 serial 图表,而您使用的是 stock 图表。
序列图有方法 zoomToDates
zoomToDates(start, end)
start - start date, Date object \ end - end date, Date object
股票图表有方法 zoom
zoom(startDate, endDate)
startDate, endDate - Date objects.
所以,你需要这样的东西:
changeDataZoom: function (rawPeriod) {
let regex = /([0-9]{2,4}[\-][0-9]{2}[\-][0-9]{2}).*?/g
let periods = []
rawPeriod.match(regex).forEach(function (period) {
periods.push(moment(period,"YYYY-MM-D").format("YYYY-MM-DD"))
})
//Periods ["2018-01-26", "2018-07-27"]
this.chart.zoom(new Date(periods[0]), new Date(periods[1]))
}
我正在尝试按照 this 入门教程创建外部缩放控件。
我有 3 个按钮
<v-btn v-on:click="showPeriod('1 month')">1 month</v-btn>
<v-btn v-on:click="showPeriod('3 month')">3 month</v-btn>
<v-btn v-on:click="showPeriod('6 month')">6 month</v-btn>
和 eventListener
showPeriod
showPeriod: function(period) {
console.log("Periods", this.periods)
if (period != 'All'){
this.changeDataZoom(this.periods[period])
}
else {
//Logic fot 'ALL' period
}
},
changeDataZoom: function (rawPeriod) {
let regex = /([0-9]{2,4}[\-][0-9]{2}[\-][0-9]{2}).*?/g
let periods = []
rawPeriod.match(regex).forEach(function (period) {
periods.push(moment(period,"YYYY-MM-D").format("YYYY-MM-DD"))
})
//Periods ["2018-01-26", "2018-07-27"]
this.chart.zoomToDates(periods[0], periods[1])
},
但是当我尝试调用 this.chart.zoomToDates
时出现错误 "TypeError: this.chart.zoomToDates is not a function"
我也尝试使用 AmCharts.stringToDate
将字符串转换为日期,但它也没有帮助我。
Link 重现错误
P.S。我知道 periods
属性 - 但在这种情况下,1 个月实际上不是日历月,所以我需要手动指定日期。
Codepen 使用 serial 图表,而您使用的是 stock 图表。
序列图有方法 zoomToDates
zoomToDates(start, end)
start - start date, Date object \ end - end date, Date object
股票图表有方法 zoom
zoom(startDate, endDate)
startDate, endDate - Date objects.
所以,你需要这样的东西:
changeDataZoom: function (rawPeriod) {
let regex = /([0-9]{2,4}[\-][0-9]{2}[\-][0-9]{2}).*?/g
let periods = []
rawPeriod.match(regex).forEach(function (period) {
periods.push(moment(period,"YYYY-MM-D").format("YYYY-MM-DD"))
})
//Periods ["2018-01-26", "2018-07-27"]
this.chart.zoom(new Date(periods[0]), new Date(periods[1]))
}