我正在关注mike bostock的hive plot实现:https://codepen.io/kevzhu/pen/lweeko
下面是javascript中指定轴长度和Angular 的部分。
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);
当前代码在绘图的中间显示四个相互重叠的标签(source、source-target、target-source、target)。
我的问题是:如何将标签放置在Hive图中相应轴的旁边?
1条答案
按热度按时间9avjhtql1#