gpt4 book ai didi

highcharts - Highchart - 显示/隐藏 y 轴而不隐藏系列

转载 作者:行者123 更新时间:2023-12-02 22:57:20 26 4
gpt4 key购买 nike

我正在使用 Highchart。我有一个多系列图表,其中每个系列都有自己的 y 轴。

pretty much like this one (jsfiddle)

当我们单击系列的图例项时,它会隐藏它以及关联的 y 轴(使用 showEmpty:false 还有助于隐藏轴的名称)

我想要实现的是隐藏给定系列的 y 轴而不隐藏系列本身。

我尝试通过修改 showAxis 属性来隐藏它,如下所示:

serie.yAxis.showAxis = false;

但它不起作用。有人知道我应该怎么做吗?

编辑:我设法编辑文本,以便可以通过将文本设置为 null 来删除轴标题,但不足以隐藏整个轴及其值。

这是我编辑文本的方法:

serie.yAxis.axisTitle.attr({
text: null
});

最佳答案

Highcharts 4.1.9+

从4.1.9开始,有一个选项Axis.visible可用于显示/隐藏轴,演示:http://jsfiddle.net/3sembmfo/36/

旧版本的 Highcharts

这是 Highcharts 3.0 的一项新功能 - 允许实时更新轴:chart.yAxis[0].update(object) - 因为对象采用与创建图表相同的选项。例如:

        chart.yAxis[0].update({
labels: {
enabled: false
},
title: {
text: null
}
});

还有 jsFiddle:http://jsfiddle.net/39xBU/2/

编辑:

使用下面的代码片段只需调用 axis.hide()axis.show() 即可隐藏/显示轴。现场演示:http://jsfiddle.net/39xBU/183/

(function (HC) {
var UNDEFINED;
HC.wrap(HC.Axis.prototype, 'render', function (p) {
if (typeof this.visible === 'undefined') {
this.visible = true;
}
if(this.visible) {
this.min = this.prevMin || this.min;
this.max = this.prevMax || this.max;
} else {
this.prevMin = this.min;
this.prevMax = this.max;
this.min = UNDEFINED;
this.max = UNDEFINED;
}

this.hasData = this.visible;

p.call(this);
});

HC.Axis.prototype.hide = function () {
this.visible = false;
this.render();

HC.each(this.plotLinesAndBands, function (plotLine) {
plotLine.render();
});
};

HC.Axis.prototype.show = function () {
this.visible = true;
this.render();

HC.each(this.plotLinesAndBands, function (plotLine) {
plotLine.render();
});
};
})(Highcharts);

关于highcharts - Highchart - 显示/隐藏 y 轴而不隐藏系列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15277405/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com