D3可缩放朝阳-固定环厚度

问题描述

根据以下示例,我一直在研究D3 Zoombable Sunburst:https://observablehq.com/@d3/zoomable-sunburst

根据我所做的修改,该图已接近我的要求。但是,我在强制第一个内圈具有固定厚度方面遇到问题。据我了解,大小是根据JSON数据计算的。

我已将以下StackOverflow帖子作为起点:D3 Sunburst. How to set different ring\level widths,但我需要修改代码部分有所不同,因为Zoomable Sunburst使用的弧变量不同。作为D3的新手,我不确定为什么会有所不同。

我需要修改代码是设置内半径和外半径的地方:

var arc = d3.arc()
    .startAngle(d => d.x0)
    .endAngle(d => d.x1)
    .padAngle(d => Math.min((d.x1 - d.x0) / 2,0.005))
    .padradius(radius * 2.5)
    .innerRadius(d => d.y0 * radius)
    .outerRadius(d => Math.max(d.y0 * radius,d.y1 * radius - 1));

最后一点-当用户单击不同的图层时,如何确保保留这些计算?根据我尝试进行的各种调整以固定环的厚度,这些原始计算被抹掉了。

感谢您的帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)