提问者:小点点

宽度属性不能用于d3样式


我试图显示条形图,每个条形图的宽度代表年龄。但是使用d3中的style方法,我无法将width属性应用于条形图(通过在浏览器中执行inspect元素进行检查)。使用style应用的其他属性工作正常。

 function showData(clients){
        let max = d3.max(clients, (d) => {
            return (parseInt(d.age));
        })
        //console.log(max);

        let scale = d3.scaleLinear().domain([0, parseInt(max)]).range([0, 100]);
        //console.log(scale);

        let join = container.selectAll('div').data(clients);

        join.enter().append('div')
            .text((d) => {
                return d.name + ' : ' + scale(parseInt(d.age));
            })
            .style('background-color', 'blue')
            .style('margin', '5px')
            .style('color', 'white')
            .style('width', (d) => {
                return parseInt(d.age)
            });
    }

共1个答案

匿名用户

宽度不仅仅是一个数字:

width: 150px;
width: 20em;
width: 75%;
width: auto;

我相信你想:

.style('width', (d) => {
  return parseInt(d.age) + 'px';
});