本文介绍了标签部分加粗-其余部分不加粗的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用d3.js
,以下代码段在饼图周围呈现标签:
I'm using d3.js
and the following snippet renders labels around a pie chart:
text.enter()
.append("text")
.attr("dy", ".35em")
.style("opacity", 0.01)
.text(function(d) {
return (d.data.NAME + ": " + d.data.amount);
});
因此标签可能显示为Jimmy: 100
如何使d.data.NAME
以粗体显示,但d.data.amount
不应该以粗体显示?
How do I make d.data.NAME
render in a bold style but d.data.amount
should not be bold ?
推荐答案
一种解决方案是将<tspan>
元素与font-weight
元素使用不同的font-weight
元素.
One solution is using a <tspan>
element with a different font-weight
for your d.data.amount
.
查看演示
var svg = d3.select("svg");
var text = svg.append("text")
.attr("x", 10)
.attr("y", 30)
.attr("font-weight", 700)
.text("This is bold...")
.append("tspan")
.attr("font-weight", 300)
.text(" but this is not.")
<script src="https://d3js.org/d3.v4.min.js"></script>
<svg></svg>
在您的情况下,应该是这样的:
In your case, it should be something like this:
//...
.style("font-weight", 700)
.text(function(d) {
return d.data.NAME + ": ";
})
.append("tspan")
.style("font-weight", 300)
.text(function(d) {
return d.data.amount;
});
这篇关于标签部分加粗-其余部分不加粗的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!