javascript - 饼图更新时不断调整 - D3

标签 javascript d3.js pie-chart

我遇到了一点问题。

我正在使用 D3 为我正在构建的应用程序制作饼图。我基本上它可以工作,但我对图表的一方面感到恼火。我从这里调整了图表:http://jsfiddle.net/vfkSs/1/来处理我的应用程序。

数据在这里传入:

data = data ? data : { "slice1": Math.floor((Math.random()*10)+1), 
                       "slice2": Math.floor((Math.random()*10)+1), 
                       "slice3": Math.floor((Math.random()*10)+1), 
                       "slice4": Math.floor((Math.random()*10)+1) };

但是在这个文件中的某个地方,这些切片是按值排序的,这不是我想要的。

此图表的问题在于,当它更新时,它会调整图表的所有部分以保持它们按升序排列。例如,饼图的最大部分始终位于右侧,最小部分始终位于左侧。我希望它们保持数据传入时的顺序。

最佳答案

这被埋在了 documentation 中。 .

pie.sort([comparator])

If comparator is specified, sets the sort order of data for the layout using the specified comparator function. Pass null to disable sorting.

(加粗我的)

因此,将您的 .pie 调用修改为:

var cv_pie = d3.layout.pie().sort(null).value(function (d) { return d.value });

已更新fiddle .

关于javascript - 饼图更新时不断调整 - D3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27930405/

相关文章:

html - 如何使谷歌饼图响应?

javascript - 使用 Braintree 下拉 UI 选择定期计费的付款方式——或 : finding the payment method of a paymentMethodNonce

javascript - 修改SVG路径元素的 "d"属性以将其向左移动9个像素?

javascript - Waypoint循环,退出循环后属性未定义

d3.js - 如何在 d3 工具的强制布局中可视化 mysql 数据库中的数据

javascript - D3 : use . map() 重新排列数据数组

javascript - 如何通过selenium从由 <br> 标签分隔的元素中提取部分文本?

我页面上的 Javascript 在 iOS 中不工作

css - 使用 Recharts 实现循环进度条

python - 创建一个基于值 excel 填充的饼图?