Highchart 点击旋转 -90

Highchart click rotate -90

当切片被点击时旋转到-90,当这个切片被点击时其他切片在被点击时不旋转。例如。单击一个切片时旋转-90,如果单击其他切片,则将这些切片旋转到-90。

http://jsfiddle.net/vkhvvs5d/13/ 此 fiddle 对一个切片有效,但对其他切片无效

这是我要执行的语句

if(angle !== -90) { angle = -90 };

您需要计算应该设置的角度。每次旋转后 startAngle 都会改变,所以选项 1 - 全部计算。选项 2 - 为每个点添加一个总和值(您可以在 Highcahrts 中使用它之前解析您的数据,但在下面的示例中我对其进行了硬编码)然后根据点击的点设置适当的角度。

示例:http://jsfiddle.net/04y0pce2/

 // get angle
angle = 90 - (sum/total * 360) - (point.percentage/100 * 360)/2;
// 90 <- to what angle should point to
// sum/total * 360 <- what is total angle
// (point.percentage/100 * 360)/2 <- adjust to get middle of slice

数据为:

  data: [[1,0], [1,1], [1,2]],
  keys: ['y','sum'],

sum是前面所有点的总和)