如何从yAxis中删除一些值?
我的图表是一个列范围(https://www.highcharts.com/demo/columnrange),x轴上的天数(实际上是y轴,已旋转),我不想在某些天显示值。
一般来说,我想隐藏域中的一些值,即不连续的域。
示例:
Highcharts.chart('container', {
chart: { type: 'columnrange', inverted: true },
xAxis: { categories: [ 'FirstTask' ] },
yAxis: {
type: 'datetime',
tickInterval: 24 * 36e5
},
plotOptions: {
columnrange: {
dataLabels: {
enabled: true,
formatter: function () { return Highcharts.dateFormat('%e.%b', this.y); }
}
}
},
series: [{ data: [1497718538701, 1498150538701] }],
});
此代码在x轴(y,旋转)上生成带有水平条和6月17日至6月22日的天数的图表。
我想删除第19天和第20天,即间隔中的所有点
[1497891338701, 1497977738701]
有可能吗?
答案 0 :(得分:1)
您可以使用断轴模块在轴上设置breaks。
yAxis: {
type: 'datetime',
tickInterval: 24 * 36e5,
breaks: [{
from: Date.UTC(2017, 5, 19),
to: Date.UTC(2017, 5, 20),
breakSize: 0
}],
在您的情况下,某些刻度似乎是重叠的,但可能会使用axis.labels.formatter修复 - 您可以检查该值是否在中断之外。
labels: {
formatter: function () {
const hide = Date.UTC(2017, 5, 19) <= this.value && this.value < Date.UTC(2017, 5, 20)
return !hide ? this.axis.defaultLabelFormatter.call(this) : null
}