【问题标题】:d3js link arc filled useless partd3js链接弧填充无用部分
【发布时间】:2016-01-26 10:07:56
【问题描述】:

这是我的链接目前的绘制方式。 这是下面的图片代码(来自我真实的输出html)

<svg height="1210" width="1400">
<path class="link" id="linkId_2" opacity="0.9468531468531468" style="stroke-width: 5px; marker-end: url(#end-arrow);" d="M652.3404429062306,276.08144057675605A166.53959040529506,166.53959040529506 0 0,1 767.3217566577334,315.4663301140565"></path>
</svg>

但我想画成这样。 (应该像链接,而不是圈子的一部分)

这是我真正的代码部分。

function updateLink() {
    this.attr('d', function(d) {
        var deltaX = d.target.x - d.source.x,
            deltaY = d.target.y - d.source.y,
            dist = Math.sqrt(deltaX * deltaX + deltaY * deltaY),
            normX = deltaX / dist,
            normY = deltaY / dist;
        if( !normX) normX = 0;
        if( !normY) normY = 0;

        var sourcePadding = d.left ? circleSize(d.source.inDegree) + 10 : 20,
            targetPadding = d.right ? circleSize(d.target.inDegree) + 5 : 20,

            sourceX = d.source.x + (sourcePadding * normX),
            sourceY = d.source.y + (sourcePadding * normY),
            targetX = d.target.x - (targetPadding * normX),
            targetY = d.target.y - (targetPadding * normY);

        return "M" + sourceX + "," + sourceY + "A" + dist + "," + dist + " 0 0,1 " + targetX + "," + targetY;
    });
}

这是我使用的示例 (http://bl.ocks.org/mbostock/1153292)

【问题讨论】:

    标签: d3.js svg path


    【解决方案1】:

    如果您希望描边未填充,则只需将填充设置为无,并将描边设置为颜色,例如

    <svg height="1210" width="1400" viewBox="600 230 600 600">
    <path class="link" id="linkId_2" opacity="0.9468531468531468" style="fill:none;stroke:black;stroke-width: 5px; marker-end: url(#end-arrow);" d="M652.3404429062306,276.08144057675605A166.53959040529506,166.53959040529506 0 0,1 767.3217566577334,315.4663301140565"></path>
    </svg>

    【讨论】:

    • 我快关门了,但无法到达。非常感谢:)
    猜你喜欢
    • 2013-07-11
    • 2013-10-13
    • 2012-02-14
    • 1970-01-01
    • 1970-01-01
    • 2017-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多