我有一个包含多个泳道(Y类别)的图表,如下所示:
正如你所看到的,我在Y轴上有一个类别列表,其中一个是空的(这是有意的意思,这个空的是采购部分2),我们的目标是:
1.在顶部/左侧添加一个可以运行操作的按钮(在本例中,询问新Y的名称),但您可以看到,在我们将鼠标置于其上之前,该按钮未正确显示,请检查以下图像:
按钮在左上角显示如下:
但应显示如下:
我们遗漏了什么?还是应用程序中的错误?
1.我们正在尝试**添加一个新通道(Y轴)**我们尝试了2种方法,这两种方法都不报告错误,只是什么也不做......我们注意到类别列表被修改,但即使调用重绘也没有反映出更改......这是我们的代码:
图表.渲染器.按钮('New Lane',10,10,函数(){
var yAxes = chart.axes.filter(f => f.coll == 'yAxis');
var yAxis = yAxes[0];
var cats = yAxis.categories;
cats.push('SOMETHING');
console.log(cats);
yAxis.setCategories(cats, true);
//yAxis.update({
// categories: cats
//}, true);
}).add();
**换句话说:**我们想知道为什么按钮没有正确呈现,以及如何向Y轴添加类别。
谢谢你的帮助。
1条答案
按热度按时间zzlelutf1#
您正确地使用了button renderer方法来添加按钮,现在将其放置在chart.events.render中。
如何设置yAxis的类别可以通过方法setCategories on Highcharts.Axis或者用update更新yAxis来实现。
现场演示:https://jsfiddle.net/BlackLabel/dL6c2zrp/