怎样才可以有D3.js根据他们个人的半径/直径自动调节字体大小为每个节点?D3.js自动字体大小
我用一种风格,允许自动增加INSIZE
node.append("text")
.attr("dy", ".3em")
.style("text-anchor", "middle")
.text(function(d) { return d.className.substring(0, d.r/3); })
.style("font-size", "10px") // initial guess
//This is what gives it increased size...
.style("font-size", function(d) { return (2 * d.r - 10)/this.getComputedTextLength() * 10 + "px"; })
; * 10 +“px”; })
这种效果将删除更小的节点的文本。我也有一个缩放功能,我可以增加一个最初覆盖12像素的点来覆盖整个屏幕。
.call(d3.behavior.zoom().scaleExtent([1, 200]).on("zoom", zoom))
有没有一种方法可以自动格式化节点字体单独;写入适当的大小,所以当放大被调用的节点字体将出现与节点大小成比例,与单一字体大小适合所有?
正确列出圈:NAME(SIZE)
我喜欢工作的例子可以借鉴。因此,在图像大小的情况下,P旁边的驱动圆以北的绿色小点将会有黑色的不可读的单词,直到我们放大以查看圆圈上写的内容为止。目标是放大时具有相称的可读字体..?
做工精良...有一个简单的解决这个词之前和之后获得的空间或缩小字的大小几步小吗? – Understood
这完全取决于cscale是如何确定的 - 您可以在其中添加一个因子或为bbox.width添加一个常量偏移量作为空间。 –
可能是这个getBBox()在FF上创建的问题! –