当前位置: 首页 > 面试题库 >

如何在D3.js中动态显示多行文本?

丁晋
2023-03-14
问题内容

我需要使用D3.js在SVG:Text中显示多行文本。

示例数据如下所示,我想为每个作者在单个节点下显示“所有”标题,而不是在强制方向布局中显示为单个节点。

样本数据

{
    {"author":"Author1", "group":"fiction", "books" : [
        {"title":"Book Title1", "rating":3},
        {"title":"Book Title2", "rating":4}
    ]},
    {"author":"Author2", "group":"non-fiction", "books" : [
        {"title":"Book Title3", "rating":3},
    ]}
}

SVG:text仅需要输入一个文本并显示在一行中,因此我添加了更多文本并调整了“ dy”?还是收回节点信息并替换?

感谢您的提示。


问题答案:

您有以下选择。

  • 如前所述,您可以添加多个text具有适当间距的元素。
  • 您还可以tspan在一个元素内使用多个html" target="_blank">元素text来达到相同的效果。同样,您将必须自行设置间距。
  • 您可以foreignObject用来嵌入合适的HTML元素(例如div),以便为您处理换行,间隔等问题。有关示例,请参见此处。

除非您有特殊原因,否则我会选择HTML嵌入选项。它使实际的文本格式比其他选项容易得多。



 类似资料:
  • 我正在尝试用laravel动态显示菜单。 我有两个表,一个是主类,另一个是子类 下面是分类表的结构 子类别结构 这是我尝试过的 我面临的问题是,由于foreach循环,它每次都会复制主类别,例如 如您所见,每次显示子类别时,它都会复制主类别。我怎么能显示主要类别一次,然后所有子类别下面它 我有另一个模板,它有不同的菜单HTML结构 它一次又一次地生成ul和div,从而导致html错误

  • 问题内容: 我有一些字符串数据- 现在,我希望此字符串以正确的xml格式显示在网页上。 我怎样才能做到这一点? 问题答案: 原本希望google-code- prettify可以完成这项工作,但看起来却没有缩进。带有一个用于缩进的附加插件(vkbeautify),能够通过缩进获得正确的xml格式。 http://plnkr.co/edit/Pep9HurLI8NPtAXRsoFD?p=previe

  • 在我的REST API补丁操作中,我使用的是v3 我试图为我的补丁操作添加更多的示例作为swagger模式。 请求主体: 目前我有以下类的请求模型。 在PatchOperation.java中 @补丁 有没有办法,我可以为getOP、getPath和getValue方法添加多个示例?谢谢你。

  • 问题内容: 我想显示一个从数据库到表单元格的段落。 结果是一个大的1行,而忽略了它在数据库中的组织方式。例如忽略“输入”(换行) 我想完全按照它在数据库中的编写方式来显示它。 例如,如果段落保存如下: 我希望它完全像这样显示,而不是: 问题答案: 您想使用应用于适当的CSS 。为此,请对所有表单元格执行此操作,例如: 另外,如果您可以更改标记,则可以在内容周围使用标签。默认情况下,Web浏览器使用

  • 问题内容: 我已经编写了Java代码在图像上绘制多边形。当我将光标放在多边形内时,它会显示“ Inside”(内),否则显示“ Outside”(外)。因此,检测多边形内部的点工作正常。 但是我想实现setToolTipText多边形内部的效果,即在鼠标悬停在多边形内部时,它将显示浮动文本“ Inside”。 类似于此图像中的效果: http://www.java2s.com/Code/Java/

  • 我正在尝试为Android牛轧糖开发一个应用程序,我想在状态栏中显示一些信息/文本,生成一个Android服务例程。所以我的问题是,我不知道如何显示状态栏中的文本。 我添加了一个示例图像来显示我的确切意思(红圈)。我知道这是有可能的,因为我在play Store的一款电池监控器应用中看到了它。 我已经尝试了notificationbatch.builder,但我认为这不是正确的方法。也许是一个叠加