Highcharts-仅绘制系列的网格线

Highcharts-仅绘制系列的网格线,highcharts,Highcharts,我有一个只有一个系列的面积样条曲线。该设计要求绘制与系列相接触的x轴网格线,且不会超出该范围。有可能这样做吗?下面是我配置网格线的代码: xAxis: { gridLineWidth: 1, tickAmount: 30, lineWidth: 0, labels: { enabled: false }, minPadding: 0 }, 另一个选项(jlbriggs在对该问题的评论中提到的2除外)可能是在包装器中更改网格线的路径,

我有一个只有一个系列的面积样条曲线。该设计要求绘制与系列相接触的x轴网格线,且不会超出该范围。有可能这样做吗?下面是我配置网格线的代码:

xAxis: {
    gridLineWidth: 1,
    tickAmount: 30,
    lineWidth: 0,
    labels: {
       enabled: false
    },
    minPadding: 0
},
另一个选项(jlbriggs在对该问题的评论中提到的2除外)可能是在包装器中更改网格线的路径,如:

  (function(H) {
    var UNDEFINED;
    H.wrap(H.Tick.prototype, 'render', function(p) {
      p.apply(this, [].slice.call(arguments, 1)); //run original function

      if (this.axis.isXAxis && this.gridLine) {
        var point = this.axis.series[0].options.data[this.pos],
          d = this.gridLine.attr('d').split(' ');
        if (point !== UNDEFINED) {
          d[2] = this.axis.chart.yAxis[0].toPixels(point);
          d = d.join(' ');
        } else {
          d = ''; //remove if not crossing any point
        }
        this.gridLine.attr({
          d: d
        });
      }
    });

  })(Highcharts)
例如:


如果网格线未穿过任何点,则网格线将被删除,但如果愿意,您可以更改代码的该部分。

此选项不受支持。但这个问题已经被问了很多-在这里搜索一下,你很可能会找到一些潜在的解决方案。你的选择基本上是1)找到一种方法来隐藏序列上方的网格线-即,添加一个带有白色填充的堆叠区域序列,或者2)找到一种方法来绘制从轴到系列点的自己的直线。无论是通过直线/散点系列,还是通过chart.renderer()函数,都非常有创意!谢谢你的总结,太棒了!谢谢,@Kacper-Madej。