首页 > 解决方案 > D3:置信椭圆,如何定位?

问题描述

我的计划是在我的基本 d3 散点图上绘制一个 95% 置信度椭圆。我最初认为在 D3 中绘制置信椭圆会非常容易,因为有一个专用的 SVG 椭圆可以使用。然而,事实证明事情很困难,因为我只能创建轴对齐的椭圆。虽然不是火箭科学,但确定椭圆正确方向的数学仍然有些涉及。幸运的是,我找到了有关如何计算的出色指南以及此参考图片:

在此处输入图像描述

我想先迈出小步,所以我暂时搁置了数学,只是试图将椭圆放在散点图上,如下所示:

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 的 ellipse svg 以便能够将椭圆设置.attr()为所需的置信椭圆坐标(暗示对角线方向)。如果专用的椭圆形状不起作用,那么一种path方法是否可行?

我会很感激一个 plunker 或 block 来证明概念。我找遍了整个地方,没有找到任何类似的东西。

标签: d3.jssvg

解决方案


推荐阅读