微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。