【发布时间】:2016-07-04 14:18:46
【问题描述】:
当显示工具提示时,是否可以更改图表中所有数据点的不透明度,当前显示标签的数据点除外?
即在默认的柱形图中,当鼠标移到某一列上时,该列会被高亮一点。对于同一事件,我希望所有其他列的不透明度更改为 50%。
谢谢
【问题讨论】:
标签: highcharts
当显示工具提示时,是否可以更改图表中所有数据点的不透明度,当前显示标签的数据点除外?
即在默认的柱形图中,当鼠标移到某一列上时,该列会被高亮一点。对于同一事件,我希望所有其他列的不透明度更改为 50%。
谢谢
【问题讨论】:
标签: highcharts
您可以在图表的情况下使用点 mouseOver 和 mouseOut 事件回调函数。在此事件中,您可以更新特定点的颜色。 http://api.highcharts.com/highcharts#plotOptions.area.point.events.mouseOver http://api.highcharts.com/highcharts#plotOptions.area.point.events.mouseOut
如果您将使用 rgba 颜色,您将能够设置不透明度。
point: {
events: {
mouseOver: function() {
Highcharts.each(this.series.data, function(p, i) {
p.update({
color: 'rgba(50,120,60,0.5)'
}, false)
});
this.update({
color: 'rgba(50,120,60,1)'
});
},
mouseOut: function() {
Highcharts.each(this.series.data, function(p, i) {
p.update({
color: 'rgba(50,120,60,1)'
}, false)
});
this.series.chart.redraw();
},
}
}
在这里您可以看到一个示例,它是如何工作的: http://jsfiddle.net/4q10q8r1/
亲切的问候。
【讨论】: