【发布时间】:2018-04-11 12:36:47
【问题描述】:
我正在关注 Mike Bostock 的 Hive Plot 实施: https://codepen.io/kevzhu/pen/LWeEKO
下面是指定轴长度和角度的javascript部分。
var innerRadius = 50, outerRadius = 200,
majorAngle = 2 * Math.PI / 3, minorAngle = 1 * Math.PI / 12;
var angle = d3.scale.ordinal()
.domain(["source", "source-target", "target-source", "target"])
.range([0, majorAngle - minorAngle, majorAngle + minorAngle, 2 * majorAngle]);
svg.selectAll(".axis")
.data(nodesByType)
.enter().append("line")
.attr("class", "axis")
.attr("transform", function(d) { return "rotate(" + degrees(angle(d.key)) + ")"; })
.attr("x1", radius(-2))
.attr("x2", function(d) { return radius(d.count + 2); });`
我在实现中添加了以下代码行。
var angleLabel = d3.svg.axis().scale(angle);
svg.append("g").attr("class","axis").call(angleLabel);
当前代码显示四个标签(源、源-目标、目标-源、目标)在图的中间相互重叠。
我的问题:如何在蜂巢图中将标签放置在相应轴旁边?
【问题讨论】:
标签: d3.js plot hive axis-labels