高图表:隐藏/删除 y 轴上的值(在某个范围内)



如何从 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/

最新更新