易しいものから難しいものの順に...
カテゴリはほとんどが数値 (例: 'mir001') であるため、カテゴリを省略できます。これにより、すべてのカテゴリが表示されなくなります。その後、1、2、3 などと表示されます。
または、カテゴリを削除して、ラベル フォーマッタを使用することもできます。この場合、ラベルが数値で増加しているように見えるという事実を再び利用して、次のようなことを行うことができます。
chart = new Highcharts.Chart({
xaxis: {
labels: {
formatter: function() {
return "mir" + this.value;
}
}
}
});
上記の両方により、ラベルの数が削減されます (ラベルは、ズームされるまで、1、50、100 などのパターンに従います)。
ラベルに非常にこだわりたい場合は、ラベル フォーマッタを使用し、計算を行ってグラフのスケールを見つけ、ラベルをどのように表示するかを決定する必要があります。たとえば、次のようなことができますが、かなり複雑です。
var categories = [] //have your categories as a separate list
var buckets = 4;
var labelFormatter = function(frequency) {
var count = 0;
frequency = frequency || 0;
return function () {
count++;
if ((count > frequency) || (frequency < 1)) {
return this.value
}
}
};
chart = new Highcharts.Chart({
zoomtype: 'x',
events: {
selection: function(event) {
if (event.xAxis) {
var scale = event.xAxis[0];
var frequency = Math.floor((scale.max - scale.min) / buckets)
this.xaxis[0].labels.formatter = labelFormatter(frequency);
}
}
},
xaxis: {
labels: {
formatter: labelFormatter(Math.floor(categories.length/buckets))
}
}
});
最後の解決策は正確には機能しないことを指摘しておく必要があります。これは、それがいかに難しいかをさらに示しています。