Javascript 在多个Highcharts树状图上选择点
Aim:我有两个相同的Highcharts树状图,如果我从一个图表中选择一个点,我还想向具有相同id/相同位置的第二个图表点发送一个select事件 进步: 我遵循这些解决同样问题的方法,只针对线图,然后采用了树图的提琴。您可以在下面找到它:Javascript 在多个Highcharts树状图上选择点,javascript,highcharts,treemap,Javascript,Highcharts,Treemap,Aim:我有两个相同的Highcharts树状图,如果我从一个图表中选择一个点,我还想向具有相同id/相同位置的第二个图表点发送一个select事件 进步: 我遵循这些解决同样问题的方法,只针对线图,然后采用了树图的提琴。您可以在下面找到它: $(function () { var prevPid = 0; var chart = { plotOptions: { series: { allowPointSe
$(function () {
var prevPid = 0;
var chart = {
plotOptions: {
series: {
allowPointSelect: true,
point: {
'events': {
select: function () {
var pId = this.series.data.indexOf(this);
var chart1 = $('#container').highcharts();
var chart2 = $('#container2').highcharts();
chart1.series[0].data[pId].setState('select');
chart2.series[0].data[pId].setState('select');
chart2.series[0].data[prevPid].setState('');
prevPid = pId;
}
}
}
}
},
series: [{
type: "treemap",
data: [{
name: 'A',
value: 6,
colorValue: 1
}, {
name: 'B',
value: 6,
colorValue: 2
}, {
name: 'C',
value: 4,
colorValue: 3
}]
}]
};
$('#container').highcharts(chart);
$('#container2').highcharts(chart);
});
问题:但是未选择其他图表的对应点。有关于如何修复的建议吗?Highcharts v5+ 使用
point.update()
,演示:
设置:
chart: {
events: {
load: function() {
$.each(this.series, function(i, s) {
$.each(s.data, function(j, p) {
p.pointAttr = {
select: {
color: "red"
}
};
});
});
}
}
},
和行动:
point: {
'events': {
click: function() {
var pId = this.series.data.indexOf(this);
var chart1 = $('#container').highcharts();
var chart2 = $('#container2').highcharts();
chart1.series[0].data[prevPid].update({
color: chart1.series[0].color
});
chart2.series[0].data[prevPid].update({
color: chart2.series[0].color
});
chart1.series[0].data[pId].update({
color: chart1.series[0].data[pId].pointAttr.select.color
});
chart2.series[0].data[pId].update({
color: chart2.series[0].data[pId].pointAttr.select.color
});
prevPid = pId;
}
}
}
高图表treemap
没有状态。请选择选项(API:),这样即使在强制选择-ed状态时,图表上也不会发生任何视觉变化。您可以手动添加该状态:
注意:您选择/取消选择点的逻辑缺失,无法检查当前单击的点是否已单击 一个小问题:当选择图1的A点,然后选择图2的B点时,A点在图1中保持选中状态。setState(“”)函数已启动,但没有任何效果。您是对的。为以前选择的点设置selected
标志如何?请参阅:Fiddle在加载方法执行时抛出以下错误。未捕获类型错误:无法为Highcharts v5+设置未定义解决方案的属性“select”。谢谢你的信息!
chart: {
events: {
load: function() {
$.each(this.series, function(i, s) {
$.each(s.data, function(j, p) {
p.pointAttr.select = {
fill: "red"
}
});
});
}
}
},