我有一个相当简单的d3可视化,屏幕上有10个节点,还有一个滑块,可让您选择从中提取数据的年份(即2000,2001 .... 2010),然后更新值/大小10个节点中的每个节点都与年份相匹配。
所有10个节点中最大的节点在2000年的峰值为14,000,在2010年达到最低值6,000。
所有10个节点中最小的节点在2000年的峰值为1,000,在2010年的最低值为150.
我的问题是,即使最小的节点在2000年到2010年之间缩小了近10倍 - 你看到它在屏幕上的大小变化非常小,因为最大的节点(从14,000变为6,000)占用最多线性刻度范围。
我的要求很简单 - 对于10个节点中的每个节点,如果值加倍,那么节点的区域也应如此。但是我开始担心我需要特定于节点的d3标度来实现这一目标吗?如果没有,也许有不同类型的规模(对数?)可能会有所帮助?
这是目前我使用的简单比例......
var circleRadiusScale = d3.scale.linear()
.domain([150, 14000])
.range([40, 200]);
非常感谢任何想法!