我在我的代码中使用HighChart.目前,当用户单击图例项(例如,"ABC")时,标记为"ABC"的对应饼图将变为灰色.再次单击时,灰色将被移除,饼图将恢复为其原始 colored颜色 .现在,我希望通过在饼变为灰色时向"ABC"图例项添加删除线效果,并在饼恢复到其原始 colored颜色 时删除删除线来增强此功能.
Highcharts.chart('container', {
series: [{
type: 'pie',
data: [1, 2, 3, 4],
showInLegend: true,
point: {
events: {
legendItemClick: function() {
var originalColor = this.options.originalColor; // Retrieve original color from options
var newColor = (this.color === 'gray') ? originalColor : 'gray'; // Toggle between gray and original color
// Toggle visibility of data labels
var showDataLabels = (newColor !== 'gray');
this.update({
color: newColor,
dataLabels: {
enabled: showDataLabels
}
});
return false;
}
}
},
events: {
afterInit: function() {
// Store original color for each point
this.points.forEach(function(point) {
point.options.originalColor = point.color;
});
}
}
}],
accessibility: {
enabled: false,
},
});
<script src="https://code.highcharts.com/highcharts.js"></script>
<div id="container"></div>