所以我使用与这个D3库示例相同的代码(使用我自己的数据):
我想得到一个气泡图,其中圆圈排列在中心最大,然后向外辐射到最小.
这是我在Photoshop中创建的模拟:

以下是我使用该示例时获得的内容(默认排序算法的默认圆形打包算法):

我尝试调整排序(包括尝试d3.ascending和d3.descending).我能想出的最好的东西基本上是用一个常数来破坏排序(哈哈!),但仍然远非我想要的:
//...
.sort( function(a, b) { return -1;} )
//...
Run Code Online (Sandbox Code Playgroud)

好的,那么在不必改变实际的D3包布局算法的情况下可以做到这一点吗?如果没有,也许有人已经扩展或修改了包布局,并且可以告诉我可以在D3源中更改的5行来破解它.
提前致谢!
编辑:
根据要求,这是我正在使用的代码.基本上与上面的链接样本相同,有一些表面的变化,如注释行所示:
var diameter = 960,
format = d3.format(",d"),
color = d3.scale.category20c();
var bubble = d3.layout.pack()
// .sort(null)
// .sort(d3.ascending)
// .sort(d3.descending)
.sort( function(a, b) { return -1;} ) // basically a < b always
.size([diameter, diameter])
.padding(1.5);
var svg = d3.select("body").append("svg")
.attr("width", diameter)
.attr("height", diameter)
.attr("class", "bubble");
d3.json("data.json", function(error, root)
{
var node = svg.selectAll(".node")
.data(bubble.nodes(classes(root))
.filter(function(d) { return !d.children; }))
.enter().append("g") …Run Code Online (Sandbox Code Playgroud) 查看原始画廊示例:http : //bl.ocks.org/mbostock/4063318
该示例的工作方式是从上到下,然后从左到右排列日期。将鼠标悬停在它们上方以了解我的意思。我想要的是更像常规垂直日历的东西,其中月份垂直堆叠在一起,天数从左到右,然后从上到下。见模拟:

旋转整个月的堆栈还不错,但是我在 SVG 上绘制了来自没有相同天数的月份所涉及的边缘情况。
有人愿意改变布局算法来做到这一点吗?