我使用的是angularjs和angular-charts,它们使用了chart.js,但我还是坚持了一个如何突出显示点击的甜甜圈部分,以便用户知道他/她选择了那个部分甜甜圈
答案 0 :(得分:0)
执行此操作的最佳方法是更改单击部分的颜色。
在你的标记中:
<canvas ...chart-colors="$scope.colors" chart-click="$scope.clickFn"...> </canvas>
在你的控制器中:
$scope.clickFn = function(points, event) {
if (!points || !points.length || !points.length > 0) { return; }
var indexClicked = points[0]._index;
$scope.colors[indexClicked] = '#9a9a9a' //your clicked color code
}
这样,下次出现范围摘要时,图表将使用您点击的部分重新绘制,并带有新的突出显示颜色。
你也可以做其他的事情,比如没有点击的所有颜色,禁用动画,这样它就不会变色,等等。但是上面的内容将解决你的问题。