Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在复杂转换中具有不同字体大小的文本_Javascript_D3.js - Fatal编程技术网

Javascript 在复杂转换中具有不同字体大小的文本

Javascript 在复杂转换中具有不同字体大小的文本,javascript,d3.js,Javascript,D3.js,所以我已经实现了Gerardo的以下优秀建议,但是接下来的转换否定了两种不同的字体权重,它们都以粗体结尾 前任职务: 代码 text.enter() .append(“文本”) .attr(“dy”,“.35em”) .style(“不透明度”,0.01) .style(“字体大小”,700) .文本(功能(d){ 返回(d.data.NAME+“:”); }) .附加(“tspan”) .style(“字体大小”,200) .文本(功能(d){ 返回d.data.amount; }); 文本

所以我已经实现了Gerardo的以下优秀建议,但是接下来的转换否定了两种不同的字体权重,它们都以粗体结尾

前任职务:

代码

text.enter()
.append(“文本”)
.attr(“dy”,“.35em”)
.style(“不透明度”,0.01)
.style(“字体大小”,700)
.文本(功能(d){
返回(d.data.NAME+“:”);
})
.附加(“tspan”)
.style(“字体大小”,200)
.文本(功能(d){
返回d.data.amount;
});
文本
.transition()
.持续时间(1400)
.style(“不透明度”,1)
.style(“字体大小”,700)
.attrTween(“转换”,函数(d){
这个。|电流=这个。|电流| d;
var interpolate=d3.interpolate(该电流,d);
该值为._电流=插值(0);
返回函数(t){
var d2=插值(t);
var pos=外表面质心(d2);
位置[0]=_半径*(中间角(d2)
为什么要在转换中“应用”字体大小样式?
文本
变量包含哪些选项?我的猜测是,
tspan
@标记很好,即使没有重新应用字体权重,我仍然需要最后的
.text(
)来隐藏一些标签,而这最后一步似乎使所有文本成为一个权重
text.enter()
    .append("text")
    .attr("dy", ".35em")
    .style("opacity", 0.01)
    .style("font-weight", 700)
    .text(function(d) {
        return (d.data.NAME + ": ");
    })
    .append("tspan")
    .style("font-weight", 200)
    .text(function(d) {
        return d.data.amount;
    });


text
    .transition()
    .duration(1400)
    .style("opacity", 1)
    .style("font-weight", 700)
    .attrTween("transform", function(d) {
        this._current = this._current || d;
        var interpolate = d3.interpolate(this._current, d);
        this._current = interpolate(0);
        return function(t) {
            var d2 = interpolate(t);
            var pos = outerArc.centroid(d2);

            pos[0] = _radius * (midAngle(d2) < Math.PI ? 0.90 : -0.90);
            return "translate(" + pos + ")";
        };
    })
    .styleTween("text-anchor", function(d) {
        this._current = this._current || d;
        var interpolate = d3.interpolate(this._current, d);
        this._current = interpolate(0);
        return function(t) {
            var d2 = interpolate(t);
            return midAngle(d2) < Math.PI ? "start" : "end";
        };
    })
    .text(function(d) {
        if (d.endAngle - d.startAngle < 8.2 * Math.PI / 180) {
            return ""
        }
        return (d.data.NAME + ": " + d.data.amount);
    })
    ;