我在整个StackOverflow中搜索了许多更新饼图的示例,并查看了d3.js中与更新饼图相关的d3.js块,但我似乎不能只使用d3.js版本4进行简单的更新。我确信我遗漏了一些重要的东西,但我没有看到它。这个想法是,点击“更新”按钮只会改变数据到一个不同的集合,这只是一个元素的不同。我有一个Fiddle (),它显示了我在这一点上运行的代码(或不运行,视情况而定)。
对update函数的初始调用基于第一个数据集创建饼图,但是由"Update“按钮启动的第二个调用不执行任何操作。我知道饼图生成器生成了正确的对象(我检查了要检查的对象),但没有重新绘制路径。
代码如下:
var pie
我正在处理一个请求,即一旦用户单击饼图的一部分,就可以旋转用highcharts.js创建的饼图。给定一个不动点,它的角度为180度,饼应该对齐自己指向该不动点的点击部分,在我的情况下用一个三角形表示。因此,每当用户单击某个部分时,固定的三角形就会指向它,因为饼会旋转。我已经成功地捕获了click事件并更改了startAngle选项如下:
// Rotate chart
donutChart.series[0].update({
startAngle: convertAngle("rads", this.angle) // gives the point angle i