我如何使这个旭日形开始时内环占据图表的整个直径?

How Do I make this sunburst start with the inner ring consuming the entire diameter of the chart?

我的可视化开始 'match' 不是我想要的。 我的旭日形开始并没有消耗圆的整个半径,而是只消耗了部分直径。

我正在尝试将一个使用分层数据的示例改编为我自己的迭代,它使用一个平面 json 数据集(参见示例)。

  1. 将平面 json 数据转换为分层格式(d3.stratify 然后 d3.hierarchy)
  2. 进行数据连接
  3. 画弧线

来源示例:https://bl.ocks.org/denjn5/3b74baf5edc4ac93d5e487136481c601

我的当前迭代 https://codepen.io/mretfaster/pen/LwjxGw

我预计开始的可视化会消耗整个旭日的直径

在您的 makeRoot 函数和 toggleOrder 中,您正在做 .sum(d => d.value) 将其替换为 .sum(d => d.data.size)

valued3 在调用 d3.hierarchy 后生成,并由 d3.partition 用于获取角度。但是 size 是数据源中值的名称,这就是 sum 所期望的。

Here 是更新后的codepen