javascript - D3.js - 在图表中添加和自定义文本
问题描述
所以我现在有这个图表和代码:http: //jsfiddle.net/moqvfj65/17
我想将我的中间数字格式化为 % 但我无法让它工作。
NaN
每当我尝试使用它时它都会返回一个值我d3.format
如何用我当前的代码做到这一点?如何在我的弧形图下方附加文本?我想用足够的间距在其中放置一个描述(大约 2-3 个句子),因为这将在仪表板中使用。我试过
group.append("text").attr("text-anchor", "bottom")
但它不起作用所以不是这样。如何更改文本的字体大小、粗细和样式?
目前,我只使用
attr("fill", "red")
代码行来为我的图表和文本着色。如何使用 RGB/RGBA 配色方案?我用“填充”尝试过,但它不起作用。
感谢你们!
解决方案
根据我对您提出的问题的理解,您可以通过以下方式进行操作。
我想将我的中间数字格式化为 % 但我无法让它工作。每当我尝试使用 d3.format 时,它都会返回一个 NaN 值如何使用我当前的代码来做到这一点?
当您调用 interpolate 方法时,您可以简单地在文本中附加一个 % 符号。
group.append("text")
.attr("text-anchor", "middle")
.attr("alignment-baseline", "middle")
.attr("fill", color)
.text(d3.format(",.1%")(score/100))
.transition()
.duration(4000)
.on("start", function() {
d3.active(this)
.tween("text", function() {
var that = d3.select(this),
i = d3.interpolateNumber(0, score);
//return function(t) { that.text(format(i(t))); };
return function(t) { that.text(format(i(t)) + '%'); };
});
});
注意线return function(t) { that.text(format(i(t)) + '%'); };
.
如何在我的弧形图下方附加文本?我想用足够的间距在其中放置一个描述(大约 2-3 个句子),因为这将在仪表板中使用。我试过 group.append("text").attr("text-anchor", "bottom") 但它不起作用所以不是这样。
您可以将新组附加到您的 svg 并设置其text
属性。您可以使用该transform
属性将其放置在正确的位置。
group.append("text")
.text(description)
.attr('transform', 'translate('+ (-r) + ',' + (r+50) + ')');
.
如何更改文本的字体大小、粗细和样式?
用于style()
设置样式。
group.append("text")
.text(description)
.attr('transform', 'translate('+ (-r) + ',' + (r+50) + ')')
.style("font-size", "16px")
.style("font-weight", "bold")
.
目前,我只使用 attr("fill", "red") 代码行来为我的图形和文本着色。如何使用 RGB/RGBA 配色方案?我用“填充”尝试过,但它不起作用。
您可以使用 rgb、文本名称或十六进制值定义颜色。
var color1 = "orange",
color2 = "#477225",
color3 = "rgb(65, 244, 169)";
所有这些都会起作用。这是您更新的小提琴,包括以上所有内容。
http://jsfiddle.net/nimeshka/moqvfj65/65/
希望能帮助到你!!
推荐阅读
- jquery - 如何在 jQuery 中处理按钮单击事件
- .net - 如何在不更改迁移文件的情况下添加具有默认值“false”的新布尔列?
- reactjs - 找不到模块“react-bootstrap-table-next”的声明文件
- python - 将空格填充到具有可变长度的系列中的字符串
- django - 多个文件上传在表单向导 Django 中不起作用
- powershell - 如何将 SAMAccountName 添加到输出?
- python - Python:如何创建 opencv 模板图像映射?(阅读扑克牌)
- menu - 如何在渲染过程中使用电子实现本机自定义子菜单
- docker - 检索已被 NAT 到连接到 docker 网桥网络的 docker 容器的数据包的目标 IP?
- azure - 如何使用 ACR 管理自定义容器 Azure 功能的 CI/CD