如何从 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]
可能吗?
您可以使用断轴模块在轴上设置断点。
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
}
示例:http://jsfiddle.net/qhrd9wnw/