Highchart, Как изменить размер автоматически, если данных много, а затем соответствующим образом масштабировать, чтобы все данные были видны.
Link demo
Проблема в том, что в Football-Player информации так много, что диаграммы не могут показать их всю. Я хочу показать все данные без ограничений по размеру и высоте. просто показать все данные.
Вы можете адаптировать высоту диаграммы к количеству точек. Ниже вы можете найти простую реализацию такой функции:
let spacePerPoint;
let allowChartRedraw = true;
Highcharts.chart('container', {
chart: {
type: 'bar',
width: 600,
height: 600,
events: {
load() {
spacePerPoint = this.plotSizeX / this.series[0].points.length;
if (this.renderer.forExport) {
Highcharts.drawTable(this);
}
},
redraw() {
if (allowChartRedraw) {
allowChartRedraw = false;
this.setSize(
null,
this.chartHeight - this.plotSizeX + this.series[0].points.length * spacePerPoint
);
allowChartRedraw = true;
}
}
}
},
...
});
Живая демонстрация:https://jsfiddle.net/BlackLabel/cy7gd0ab/
Ссылка на API:https://api.highcharts.com/class-reference/Highcharts.Chart#setSize