Вы можете добавить rect
, который будет иметь размеры всей области графика, и добавить анимацию.Чтобы нарисовать элемент, просто нужно вызвать Chart.renderer.rect()
на обработчике chart.events.load
.Весь процесс будет выглядеть следующим образом:
Создать новый элемент для события load
, установить его атрибуты цвета и непрозрачности равными атрибутам по умолчанию, а затем добавить анимацию:
chart: {
type: 'area',
events: {
load() {
var rect = this.renderer.rect(this.plotLeft, this.plotTop, 0, this.plotHeight)
.attr({
fill: Highcharts.getOptions().colors[0],
opacity: 0.8
})
.add()
rect.animate({
width: this.plotWidth
}, {
duration: 1000
})
}
}
},
Затем установитьсерия fillColor
равна белому (или другому цвету области графика):
series: [{
name: 'USA',
fillColor: 'rgba(255,255,255,1)',
data: [
... some data ...
]
}]
Живой пример: https://jsfiddle.net/up8f5x34/
APIСправка:
https://api.highcharts.com/highcharts/chart.events.load
https://api.highcharts.com/class-reference/Highcharts.SVGRenderer#rect
https://api.highcharts.com/highcharts/series.area.fillColor