Highstock/Highcharts - yAxis 标签顶部

Highstock/Highcharts - yAxis Label top

使用 Highstock 或 Highcharts,我希望我的 yAxis 标签位于顶部。我不想要的是图表左边框和网格线开头之间的不同边距。

如果你看看下面的内容fiddle: JSFiddle

相关部分是:

yAxis: {
    title: {
        align: 'high',
        offset: 0,
        text: 'Rainfall (mm)',
        rotation: 0,
        y: -10
    }
}

这几乎是正确的,但偏移边距是从标签宽度中获取的。如果我改为设置 offset: -41,它看起来完全正确。问题是, -41 是由于文本的呈现长度。如果我将文本更改为不同的长度,标签再次定位错误。

是否有可能确保无论文本长度如何,在我上面的正确定义中位置总是 "correct"?

截图,左边是错误的,右边是正确的:

我认为您可以使用 text-anchor 属性 来设置标题的样式。您可以在这里找到更多关于 text-anchor 属性 的信息:https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/text-anchor

  title: {
    align: 'high',
    text: 'Rainfall (mm)',
    style: {
      'text-anchor': 'start'
    },
    rotation: 0,
    y: -10,
    x: -25
  },

我认为您还需要使用 chart.marginLeft 参数。它会让您有机会为您的图表设置特定的左边距。在这里您可以找到有关它的信息。 http://api.highcharts.com/highcharts#chart.marginLeft

您也可以使用 xAxis.labels.reserveSpace 参数关闭为标签保留 space:http://api.highcharts.com/highcharts#xAxis.labels.reserveSpace

在这里您可以找到您的图表如何使用此选项的实例: http://jsfiddle.net/Ljwp7694/

亲切的问候,