For*_*mad 3 javascript highcharts
我试图在 highcharts 柱形图上放置一个标签,但我希望它位于两个系列图表的柱形上方和柱形之间。
我不想更改列的宽度,只想检索它的当前宽度。
我有代码将标签放置在具有最高值的列上方,工作正常,但我不知道如何找到列的宽度,以便我可以将标签正确地放置在列的中心他们。
搜索让我得到了这段代码来设置宽度:
chart.series[0].data[0].graphic.attr({
width:50
});
Run Code Online (Sandbox Code Playgroud)
这应该返回值:
chart.series[0].data[0].graphic.width
Run Code Online (Sandbox Code Playgroud)
尽管我需要的代码将位于plotOptions格式化程序内,并且可能看起来更接近于此:
this.series.chart.series[0].yData[this.point.index].graphic.width
Run Code Online (Sandbox Code Playgroud)
如果有任何帮助的话,上面代码的上下文是:
var thisVal = this.point.y;
var i = this.point.x % trendCategories2.length;
var prevVal = this.series.chart.series[0].yData[this.point.index];
var nextVal = this.series.chart.series[1].yData[this.point.index];
var highVal;
var output;
console.log(this.series.chart.series[0].yData[this.point.index].graphic.width);
Run Code Online (Sandbox Code Playgroud)
console.log 是我遇到问题的地方。我已经尝试了它的各种排列来获得宽度,但它们都返回未定义,我很确定我错过了一些愚蠢的东西。
有人可以帮忙吗?
因此,我已经弄清楚如何获取列的宽度,语法很差,我最终不得不遍历系列对象来查看可用的指标。
var colWidth = this.series.columnMetrics.width;
Run Code Online (Sandbox Code Playgroud)
上面返回列的宽度,该语法在
plotOptions -> dataLabels -> formatter function
Run Code Online (Sandbox Code Playgroud)
希望它能在某个时候对其他人有所帮助。
| 归档时间: |
|
| 查看次数: |
2204 次 |
| 最近记录: |