【发布时间】:2013-12-05 13:49:27
【问题描述】:
如何让 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 + "像素"; })
此效果会从较小的节点中删除文本。我还有一个缩放功能,我可以增加一个原本覆盖 12 px 的点来覆盖我的整个屏幕。
.call(d3.behavior.zoom().scaleExtent([1, 200]).on("zoom", zoom))
有没有一种方法可以单独自动格式化 node-font; 以适当的大小写入,因此当放大时,调用的 node-font 将显示为与 node-size 与单个字体成比例-尺寸适合所有人?
正确列出圆圈:NAME(SIZE)
我希望有一个可以学习的工作示例。因此,在图像尺寸下,在 P 旁边的驱动圈以北的小绿点将有黑色的无法阅读的文字,直到我们放大查看圆圈上写的内容。目标是在放大时具有成比例的可读字体..?
【问题讨论】:
标签: javascript d3.js