首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >amChart 4强制定向树动态字体大小

amChart 4强制定向树动态字体大小
EN

Stack Overflow用户
提问于 2019-07-03 19:17:24
回答 1查看 488关注 0票数 1

是否可以根据节点大小更改每个节点的字体大小。例如,如果一个节点大于一个节点,则字体大小应大于第二节点小于一个节点的字体大小,而其他节点的字体大小应小于一个节点的字体大小。

还可以设置节点的最大/最小字体大小,最小节点的最小字体大小为14px。最大节点的最大字体大小为45px。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-09 13:42:40

您可以等到节点加载(特别是它们的"ready"事件),之后您可以检查它们的measuredWidths,运行一些数学/逻辑,并为它们确定/分配一个fontSize (它们的label将自动继承),例如

代码语言:javascript
运行
复制
series.nodes.template.events.on('ready', function(event) {
  // Minimum font size 14:
  // Math.max(14, number here);
  // Maximum font size 45:
  // Math.min(45, number here);
  // combined below...
  // half the width of the node, between 14 and 45.
  var fontSize = Math.max(14, Math.min(45, Math.ceil(event.target.measuredWidth * .5)));
  event.target.fontSize = fontSize;
});

CodePen:

https://codepen.io/team/amcharts/pen/b440a4d0d82e0bd8587a2799a6e2ddb4

如果您需要检查更高级别的节点作为大小计算的一部分,则可以通过node.dataItem.parent.node访问该节点(其中第一个node通常是ForceDirectedNode,即在上面的事件中它将是event.target.dataItem.parent.node)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56868925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档