D3,径向矩形(从头开始)

时间:2019-07-10 08:58:33

标签: javascript d3.js

不回答这个问题:Radial time series, appending circles

我想更进一步,尝试添加有关甜甜圈的矩形,以创建“径向条形图”。但是,就像圆圈一样,似乎计算某些rect属性并不是那么简单。我尝试使用Gerardo在前述文章中演示的三角方法。但是,未添加任何直肠(也未引发任何错误)。

同样,我的体重秤是:

var x = d3.scaleTime()
    .range([0, fullCircle]);

var y = d3.scaleRadial()
        .range([innerRadius, outerRadius]);

这次,我尝试像这样添加rects:

var bars = g.selectAll('.bar')
            .data(data)
            .enter()
            .append('rect')
            .attr('class','bar')
            .attr('x', function(d) {
                return y(d.repo) * -Math.sin(x(d.date) + Math.PI)
              })
            .attr('y', function(d) {
              return y(d.repo) * Math.cos(x(d.date) + Math.PI)
            })
            .attr('width', 8)
            .attr('height', function(d) {return y(5)-y(d.repo)})
            .style('fill', '#003366');

问题

从概念上讲,它与圆基本上不是相同的方法吗(我们使用sin()cos()从角度转换为像素空间到计算机cx和{{ 1}})?还是我对radial骨直肠采取了错误的方法?

同样,等效图表为here

注意:我知道有一个专用于径向矩形的库,但是我想针对一般情况提出这个问题,以便我能理解如何使径向图类型少一些不透明且更具可定制性。

0 个答案:

没有答案