d3.js - d3 pack - 使气泡更平整(降低高度)
解决方案
不幸的是,你不能用 来做到这一点d3.pack
,但你可以使用 来实现类似的布局d3-force
:
var numNodes = 30;
var nodes = d3.range(numNodes).map(function(d, i) {
return {
color: '#55c',
radius: Math.random() * 12 + 12
}
});
var simulation = d3.forceSimulation(nodes)
.force('charge', d3.forceManyBody().strength(10))
.force('y', d3.forceY().y(0))
.force('collision',
d3.forceCollide().radius(function(d) {
return d.radius + 1;
}))
.on('tick', ticked);
function ticked() {
var u = d3.select('svg g')
.selectAll('circle')
.data(nodes);
var v = u.enter()
.append('circle')
.attr('r', function(d) {
return d.radius;
})
.style('fill', function(d) {
return d.color;
})
.merge(u)
.attr('cx', function(d) {
return d.x;
})
.attr('cy', function(d) {
return d.y;
})
u.exit().remove();
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/4.2.2/d3.min.js"></script>
<div id="content">
<svg width="400" height="200">
<g transform="translate(200, 100)"></g>
</svg>
</div>
推荐阅读
- python - 将 Matplotlib Figure 转换为灰度和黑白 numpy 数组
- pine-script - 查找特定时期内的最高 MACD
- python - 需要帮助将 Windows 通知转换为 python 中的文本转语音
- java - MySql 查询动态创建的表
- c - 如何在c中将整数作为命令行参数传递?
- python - 从 CSV 转换为 Python DataFrame 中的分类数据
- python - 将新列添加到倒置二进制值的 ndarray | NumPy 数组 Python
- java - 无法构建 openfire-apns-plugin
- database - 如何通过最接近今天的数据查找记录
- c# - C#每次调用接口方法时添加自定义事件