如何用刻度线包裹 D3 标签

2024-03-05

我正在尝试让我的标签正确包装。我需要使刻度线和标签相匹配。我正在对标签使用换行功能,但无法使其与 tspan 一起使用。

工作演示 https://codesandbox.io/s/react-d3-pie-chart-forked-nhh85?file=/src/index.js

UPDATE

这是之前和之后的图片,以帮助理解我想要什么。


遗憾的是没有简单的方法来获取 SVG<text>元素的内容像 HTML 中那样换行。然而我确实发现这个类似问题的答案 https://stackoverflow.com/questions/24784302/wrapping-text-in-d3这建议使用D3 Plus https://github.com/d3plus/d3plus向 D3 添加文本换行的库。

如果由于某种原因这不是一个选项,您可能必须自己计算包装,这是一个有点令人讨厌的过程,但通过一些努力是可以实现的。一般来说,您需要:

  1. 创建与目标 SVG 文本具有相同宽度和字体样式的 HTML 元素
  2. 将所需的内容逐字添加到该元素中
  3. 添加每个单词后检查 HTML 元素的高度,如果它增加了,您就知道在该单词之前需要换行
  4. 一旦您知道需要使用多少行<tSpan>输出每行文本的元素(您必须手动设置每个新行的顶部偏移量)

如果可能的话,我绝对建议使用该库!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何用刻度线包裹 D3 标签 的相关文章

  • Bootstrap按钮加载+Ajax

    我正在使用 Twitter Bootstrap 的按钮加载状态 http twitter github com bootstrap javascript html buttons http twitter github com bootst
  • 将 GMT 时间转换为当地时间

    我以这种格式从我的服务器获取 GMT 时间 Fri 18 Oct 2013 11 38 23 GMT 我的要求是使用Javascript将此时间转换为本地时间 例如 如果用户来自印度 首先我需要采用时区 5 30并将其添加到我的服务器时间并
  • 如何制作没有 ng-repeat 的模板并使用 Angular-drag-and-drop-lists 将数据传递到 $scope?

    我想用角度拖放列表 https github com marceljuenemann angular drag and drop lists使用我自己的网格模板到所见即所得编辑器 如何构建我自己的 HTML 模板而不需要ng repeat因
  • Javascript split 不是一个函数

    嘿朋友们 我正在使用 javascript sdk 通过 jQuery facebook 多朋友选择器在用户朋友墙上发布信息 但是我收到此错误friendId split 不是函数 这是我的代码 function recommendToFr
  • 刷新页面时保存用户的选择

    我目前有一个页面显示不同团队的数据 我有一些数据 用户可以单击使其处于 打开 或 关闭 状态 并为每个数据显示不同的图标 它基本上就像一个清单 只是没有物理复选框 我想记住哪些 复选框 已被选中 即使在用户刷新页面或关闭浏览器并稍后返回之后
  • 不可勾选的单选按钮与专有的复选框

    从 UI 角度来看 是拥有一组具有取消选中功能的单选按钮更好 还是拥有一组独占的复选框 意味着一次只能选中一个 更好 Update 我没想到对此会有如此负面的反应 如果我给出一个更接近其使用方式的示例 也许会有所帮助 我有一个充满数据绑定内
  • 将 SVG 文件转换为多个不同大小的 PNG 文件

    我有一个 SVG 格式的徽标图像 我想知道是否有办法生成多个不同大小的 png 文件 例如 我设置了 20 个不同的宽度和高度 它会生成 20 个 PNG 文件 如果我必须一次处理 5 张图像也没关系 我已经安装了 illustrator
  • 可以设置标题样式吗? (并且使用CSS或js?)[重复]

    这个问题在这里已经有答案了 我想知道是否可以设计一个title a href title This is a title Hello a 样式问题有两个方面 文本格式 编码 我猜这是可能的 所以在问题中这样做 工具提示样式 你能把它弄大一点
  • className 属性是否承担 Reactjs 中 id 属性的角色?

    由于 id 属性在 Reactjs 组件中很少使用 因为 id 属性意味着组件不会被重用 那么是否使用 className 属性来代替 id 呢 如果是这样的话 那么 Reactjs 中相当于 HTML 中的 class 属性的是什么 cl
  • 在 ReactJS 中创建动态目录

    我有一个组件 它代表一个页面 其中有多个SectionHeader 组件作为该页面的子组件 我想通过检查 Page 的子项 SectionHeaders 来动态创建目录
  • 从数据库检查数据的异步解决方案各种循环子句

    我想要做的是异步检查数据库并从中获取结果 在我的应用程序中我试图实现Asynchronously将此步骤解决为 从数据库中检查手机号码JsonArray循环子句的种类 Create JsonArray从结果 打印创建的数组 我学到了足够多的
  • 如何创建适合屏幕宽度的等宽/高框? [复制]

    这个问题在这里已经有答案了 我正在尝试建立一个网站 其中有很多宽度和高度相等的框 例如 我有一个页面 其中并排有两个相同大小的框 简单的解决方案是将宽度和高度设置为 50vw 这在出现滚动条之前效果很好 我已经用谷歌搜索了几个小时 但无法理
  • 使用css bootstrap时如何仅向一列添加右边框?

    我正在尝试使用CSS引导框架 http getbootstrap com css tables在我的项目中 我正在使用带有以下类的表table table bordered table striped 我想删除除第一列之外的所有列的边框 这
  • 如何使用 crypto-js 解密 AES ECB

    我正在尝试将加密数据从 flash 客户端 发送到服务器端的 javascript 在 asp 中作为 jscript 运行 有几个 javascript Aes 库 但它们实际上没有文档记录 我正在尝试使用 crypto js 但无法让代
  • 带参数的事件监听器

    我想将参数传递给 JavaScript 中的事件侦听器 我已经找到了解决方案 但我无法理解它们为什么或如何工作以及为什么其他解决方案不起作用 我有 C C 背景 但是 Javascript 函数的执行有很大不同 您能否帮助我理解以下示例如何
  • 用于交互式图形绘制的轻量级 JavaScript 库? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有兴趣了解用于绘制交互式图表的最轻量级 javascript 库 我掌握的数据主要是与海洋研究相关的科学数据 我知道一些 jquery
  • 如何用另一个响应替换窗口的 URL 哈希?

    我正在尝试使用替换方法更改哈希 URL document location hash 但它不起作用 function var anchor document location hash this returns me a string va
  • Javascript Replace() 和 $1 问题

    我正在尝试创建一个脚本来搜索文本中的模式并在它找到的字符串周围包裹一个标签 shop attributes td each function this html function i html return html replace E 0
  • 如何使用asm.js进行测试和开发?

    最近我读到asm js规范 看起来很酷 但是是否有任何环境 工具来开发和测试这个工具 这还只是处于规范阶段吗 您可以尝试使用 emscripten 和 ASM JS 1 并从侧分支在 firefox 构建中运行它 有关 asm js 的链接
  • 如何在react-highcharts中使用图表工具提示格式化程序?

    如何使用图表工具提示格式化程序 我正在使用高图表的反应包装器 我有这样的配置 const CHART CONFIG tooltip formatter tooltip gt var s b this x b each this points

随机推荐

  • 在android帮助中翻转位图?

    我想为我的游戏节省内存 我想问你 因为我找不到任何东西 上次我在这里问问题时我得到了很好的答案 我可以在 Eclipse 中翻转位图 这样我就可以节省精灵的内存吗 我发现的所有教程都是关于旋转而不是翻转 翻转位图的教程仅适用于 open G
  • 通过 Websocket 传输视频

    我正在尝试构建可以从双方传输视频的移动应用程序 即视频通话之类的东西 我研究了 webrtc 但这还没有为移动本机应用程序做好准备 无论如何 webrtc 正在做的是允许浏览器直接捕获相机和音频而不需要插件等 但在本机移动应用程序中捕获相机
  • SyntaxError:JSON 输入意外结束 - 这是为什么?

    这是我使用express和node js编写的代码 const express require express const https require https const app express app get function req
  • 我应该在哪里存储 jwt 令牌以在服务器端进行身份验证

    在我的 Nodejs 应用程序中 我使用 jwt 令牌进行身份验证 现在 在创建令牌后 将对其进行验证 为此 它应该存储在某个地方以供验证之用 所以 我的问题是 我应该将其存储在针对相关用户 ID 的单独数据库模式中 还是应该将其存储在其他
  • using 语句和await 关键字在c# 中表现得很好吗

    我有一种情况 我正在做一个async调用一个返回和的方法IDisposable实例 例如 HttpResponseMessage response await httpClient GetAsync new Uri http www goo
  • GLib-GObject-CRITICAL ...断言“夸克> 0”失败

    我对 Gtk 编程相当陌生 我正在使用 Gtkmm 库为我的应用程序编写一个简单的 GUI GUI 是一个更大的应用程序的一部分 它实际上编译为两个单独的可执行文件 但我不认为这是相关的 因为这个问题只涉及两个可执行文件之一 无论如何 我在
  • python:重新启动循环

    i have for i in range 2 n if something do something else do something else i 2 restart the loop 但这似乎不起作用 有没有办法重新启动该循环 Th
  • ajax发布请求到php $_POST vars为空

    我有一个 nginx 重写规则 它将 img src 属性重定向到 php 页面 在此 php 页面中 我尝试发出 GET 请求 成功后会向同一页面发出 POST 请求 将从 GET 请求返回的数据作为数据发送 为什么php脚本中 POST
  • Hadoop 中的分割大小与块大小

    Hadoop 中的分割大小和块大小之间有什么关系 当我读到this http willddy github io 2012 08 25 Hadoop Split and Block html 分割大小必须是块大小的n倍 n是整数并且n gt
  • iOS - iBeacon - iOS 7.1 更新后在后台作为信标进行广告(广播)

    我正在尝试使用 iBeacon 制作一个应用程序 其中一台设备将用作信标广播器 另一台设备将用作接收器 我经历了类似的事情在后台将 iPhone 作为 iBeacon 运行 https stackoverflow com q 1894432
  • 保存小部件的屏幕截图

    我想保存 Qt 中小部件的屏幕截图 我创建了以下应该可以工作的代码 QWidget activeWidget getActiveWidget a function that returns the current widget if act
  • jQuery on click 不适用于 iPhone(触摸设备)

    谁能向我解释一下为什么这在浏览器中有效 但在苹果 iPhone 等移动设备上却无效 在 iPhone 上 我从来没有得到过hello来自警报 为什么 div class close Click here div JS document on
  • 按多列聚合,对一列求和并保留其他列?根据聚合值创建新列? [复制]

    这个问题在这里已经有答案了 我有一个包含销售的数据框 我需要将 df 聚合 2 列ProductID and Day并对不同列中每个聚合组的值求和Amount现在它显示总数 我希望保留也可以分组的其他列 行之间的值相同 在这种情况下只是Pr
  • Mvvmlight 工具包 WPF4.5 中不存在 EventToCommand

    我正在使用最新的 MVVM Light Toolkit 版本 4 1 26 24928 并且正在使用 WPF 4 5 编写程序 现在我无法在 VS2012 XAML 文件中使用 EventToCommand 它说命名空间 clr names
  • ASP.Net 捆绑导致 HTTPS 错误

    当 web config 中的调试标志设置为 true 时 为什么会出现以下错误 混合内容 页面位于 https example com https example com 已加载完毕 HTTPS 但请求了不安全的脚本 http examp
  • hibernate.default_schema 是什么意思?

    我正在读一本Ben Scheirman 的博客文章 http benscheirman com 2007 12 blame nhibernate why not关于他为了提高性能而进行的一些 NHibernate 调整 文章最后有 第 7
  • Terraform:添加单个规则时,所有安全组规则都会被销毁并替换

    地形信息 地形 v0 12 18 提供商 aws v2 43 0 提供者 模板 v2 1 2 我定义了一个安全组 如果我跑terraform plan or terraform apply与我现有的堆栈相比 没有任何待处理的更改 状态完全是
  • 使用 EF、存储库、实体清理解决方案(项目)结构

    我喜欢保持项目的结构尽可能干净 样本 BlogApp sln BlogApp Data BlogModel edmx the EF mappings Post cs I end up having partial classes in he
  • EL表达式语言中的instanceof检查

    有没有办法执行instanceof入住 EL 吗 E g
  • 如何用刻度线包裹 D3 标签

    我正在尝试让我的标签正确包装 我需要使刻度线和标签相匹配 我正在对标签使用换行功能 但无法使其与 tspan 一起使用 工作演示 https codesandbox io s react d3 pie chart forked nhh85