gpt4 book ai didi

javascript - 导出时更新的 yAxis 标题丢失

转载 作者:行者123 更新时间:2023-12-03 11:50:17 27 4
gpt4 key购买 nike

我们的图表包含多个系列。我们一次只允许一个系列在图表中可见。当图表首次加载时,我们将 yAxis 的标题设置为 series[0].name:

chart {
...
events: {
load: function () {
this.options.yAxis[0].title.text = this.series[0].name;
this.yAxis[0].setTitle({ text: this.series[0].name });
this.yAxis[0].update({
title: {
text: this.series[0].name
}
});
}
}
...
}

在图例项上单击我们执行的操作:

events: {
legendItemClick: function (event) {
var seriesIndex = this.index;
var serie = this.chart.series;
for (i = 0; i < serie.length; i++) {
if (serie[i].index == seriesIndex) {
serie[i].show();
this.chart.options.yAxis[0].title.text = serie[i].name;
this.chart.yAxis[0].setTitle({ text: serie[i].name });
} else {
serie[i].hide();
}
}
return false;
}
}

当用户单击图例中的每个系列时,数据集会更新,yAxis.title.text 也会更改以反射(reflect)事件的 series.name系列。

但是,当我们导出图表时,无论哪个系列处于事件状态,yAxis.title.text 始终是初始加载的值。

如何使图表导出具有正确的 y 轴标题?我认为设置 chart.options 就可以做到这一点。

代表jsFiddle .

最佳答案

您可以使用循环查找可见系列,然后更新轴标题,而不是静态设置第一个系列标题。导出后,您将实现您的目标。

load: function () {

var series = this.series,
yAxis = this.yAxis[0];

$.each(series,function(i, serie) {
if(serie.visible) {
yAxis.setTitle({
text: serie.name
});
}
});
}

示例:http://jsfiddle.net/e9o7ek2a/3/

关于javascript - 导出时更新的 yAxis 标题丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25876137/

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