javascript - 在 Highcharts 中将 y 轴标题与标签左对齐

标签 javascript highcharts

在 Highcharts 中,我想将 y 轴标题放在顶部,并使其与 y 轴标签左对齐。

我已经尝试过这个:

$('#container').highcharts({
    ...
    yAxis: {
        ...
        title: {
            align: 'high',
            text: 'Y-axis title',
            rotation: 0,
            y: -10,

            //To left-align title with labels
            textAlign: 'left', //This is undocumented, but appears to work
            margin: 0
        }
    }
})

但是,我得到了过多的左边距,这似乎与 y 轴标题的长度成正比。

Highcharts left-align y-axis title JsFiddle

边距计算似乎没有考虑 textAlign: 'left' 设置。

更新:我应该说我当前的“解决方案”是使用 chart.marginLeft 设置边距,但这并不理想,因为它是固定的。左边距应该足够大以容纳轴标签(无论它们有多大)。

如何将 y 轴标题与标签左对齐并具有合理的左边距?

最佳答案

我决定使用 marginLeft(是的,您没看错),但基于轴标签的长度,以提供所需的灵 active 。

我在这里所做的是将图表选项设置为名为 chartOptions 的变量。然后,我计算了轴标题的长度(字符数),根据该值设置 marginLeft 属性,然后使用修改后的图表选项绘制图表。

chartOptions.chart.marginLeft = chartOptions.yAxis.title.text.length;
var chart = $('#container').highcharts(chartOptions);

这是工作 fiddle :http://jsfiddle.net/brightmatrix/6eeuay58/9/

我通过增加一些数据点来用不同的数字进行测试。

如果这对您有用且有帮助,请告诉我。

关于javascript - 在 Highcharts 中将 y 轴标题与标签左对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38393959/

相关文章:

javascript - 在 Highcharts 中添加更多数据

javascript - Highcharts 显示当图表放大时悬停在图表区域外的线上的点

javascript - 最小化 "Forced reflow"

javascript - 是否可以使用 React-Native-HighCharts 加载带有外部数据的工具提示?

javascript - Firebase 注销不起作用

javascript - 有没有办法通过 jquery 更改到 div 位置?

JavaScript click() 返回未定义

javascript - 如何避免 Highcharts 中的水平滚动条

javascript - 使用 W3C 剪贴板 API 将文本从 extjs htmleditor 组件复制到剪贴板

javascript - 如何在循环内分配多个本地存储变量?