[英]Chart.js compress vertical axis on barchart
您可以使用logarithmic
類型yAxis
默認值:線性
https://www.chartjs.org/docs/latest/axes/cartesian/logarithmic.html
var ctx = document.getElementById('myChart'); var myChart = new Chart(ctx, { type: 'bar', data: { labels: ["January", "February", "March", "April", "May", "June"], datasets: [{ label: "Series 1", backgroundColor: "rgba(255,99,132,0.2)", borderColor: "rgba(255,99,132,1)", borderWidth: 2, hoverBackgroundColor: "rgba(255,99,132,0.4)", hoverBorderColor: "rgba(255,99,132,1)", data: [65, 59, 43, 81, 56, 950], }] }, options: { scales: { yAxes: [{ type: 'logarithmic', ticks: { callback: function(tick, index, ticks) { return tick.toLocaleString(); } } }] } } });
<script src="https://cdn.jsdelivr.net/npm/chart.js@2.8.0"></script> <canvas id="myChart" width="400" height="200"></canvas>
優化的滴答聲
50 * (Math.floor(i / 50)), // lower 50
50 * (Math.ceil(i / 50)) // higer 50
var ctx = document.getElementById('myChart'); var myChart = new Chart(ctx, { type: 'bar', data: { labels: ["January", "February", "March", "April", "May", "June"], datasets: [{ label: "Series 1", backgroundColor: "rgba(255,99,132,0.2)", borderColor: "rgba(255,99,132,1)", borderWidth: 2, hoverBackgroundColor: "rgba(255,99,132,0.4)", hoverBorderColor: "rgba(255,99,132,1)", data: [65, 59, 43, 81, 56, 950], }] }, options: { scales: { yAxes: [{ type: 'logarithmic', ticks: { callback: function(tick, index, ticks) { return tick.toLocaleString(); } }, afterBuildTicks: function(pckBarChart) { pckBarChart.ticks = pckBarChart.chart.data.datasets[0].data.flatMap(i => [ 50 * (Math.floor(i / 50)), // lower 50 50 * (Math.ceil(i / 50)) // higer 50 ]) } }] } } });
<script src="https://cdn.jsdelivr.net/npm/chart.js@2.8.0"></script> <canvas id="myChart" width="400" height="200"></canvas>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.