所有3个图表都有共同的X轴。希望只为最后选定的图表显示X轴标签。我不知道要选择多少个图表。因此这必须是动态的。
我试了试下面:我最初禁用了所有图表的X轴标签。只需要为最后一个选定的图表启用X轴标签(最底部的图表)。
document.querySelectorAll('#checkboxes input').forEach(function(checkbox) {
checkbox.addEventListener('change', (e) => {
const id = e.target.dataset.id,
checked = e.target.checked,
checkedCheckboxes = document.querySelectorAll('#checkboxes input:checked').length,
node = document.querySelector(`#chart${id}`);
const chartEps = [
chartEp1,
chartEp2,
chartEp3,
]
console.log("id", id)
//chartEps[id].xAxis[0].options.labels.enabled = true
// The ID has to be the id of last chart selected. So that only for last chart xAxis label is enabled.
chartEps[id].update({
labels: {
enabled: true
},
});
请看提琴:https://jsfiddle.net/xhLt6a01/8/
除了动态x轴标签,我还尝试设置一个空的图表,它的x轴需要在底部随时显示(在fiddle底部的注解代码)。
但不能让两个选择工作。我真的很感激如果我能得到任何帮助。
1条答案
按热度按时间83qze16e1#
要动态启用/禁用标签,请在更新调用中设置选项
xAxis
,但(不知何故意外地)它应该位于选项对象的顶级,与chart
处于同一级别:对于只为最后显示的图表启用坐标轴的特定情况,我将使用
其中
selected
是一个跟踪选中复选框的数组,它相当于显示的图表。