我的计划是在我的基本d3散点图上绘制95%置信度椭圆。我最初认为在D3中绘制置信椭圆会非常容易,因为有一个专用的SVG椭圆可以使用。然而,事情证明是困难的,因为我只能创建轴对齐的椭圆。虽然不是火箭科学,但确定椭圆正确方向的数学仍然有些牵连。幸运的是,我发现了this great guide如何计算,还有这个参考图片:
我想首先采取婴儿步骤,所以我暂时将数学放在一边,并试图将散点图上的椭圆眼球瞄准:
graphGroupG.append('ellipse')
.attr('transform', 'translate(' + margins.left + ',' + margins.top + ')')
.attr({cx:xScale(0), cy:yScale(0), rx:xScale(-6), ry:yScale(6)})
.attr('stroke', 'black')
.attr('stroke-width', 3)
.attr('fill', 'none');
尽管修补了所有cx
,cy
,rx
,ry
组合,但我的所有椭圆都是轴对齐的,而不是对角线定向的作为一个适当的置信椭圆。我想知道是否有一些我不知道的秘密orientation
属性。
问题:如何使用d3的椭圆svg,以便我能够将椭圆.attr()
设置为所需的置信椭圆坐标(暗示对角线方向)。如果专用椭圆形状不起作用,path
方法是否可行?
我很欣赏一个用于概念验证的plunker或block。我到处都看了,没找到任何类似的东西。