.jonsIdea {
background-color: white;
}

    <div class="jonsIdea">
        <div class="canvas">
            <svg width="90vw" height="100vh">
                <text text-anchor="middle" x="50vw" y="5vh" font-family="MarsBook" font-size="2vw" fill="black">
                    Please select your businesses
                </text>
                <circle r='7vw' cx='50vw' cy='50vh'></circle>
            </svg>
        </div>
    </div>





我一直在网上搜索,但无法使用d3.js找到一个简单的半圆的例子。

如您所见,我在页面中间附加了一个圆圈。我的目标是在圆圈内有两个按钮,这些按钮显示为用户可以单击的半圆圈。如果它们彼此顶着,而不是彼此顶着,那将是很棒的。

有人有绘制半圆的代码吗?

提前致谢

最佳答案

我想说,用于创建半圆的惯用D3是在圆弧生成器(<path>)中附加一个d3.arc()并设置半圆结构,其中起始角度和终止角度之间的差为Math.PI



const svg = d3.select("svg");

const arcGenerator = d3.arc()
  .outerRadius(100)
  .innerRadius(0)
  .startAngle(-Math.PI / 2)
  .endAngle(Math.PI / 2);

const arc = svg.append("path")
  .attr("transform", "translate(150,120)")
  .attr("d", arcGenerator());

<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js"></script>
<svg></svg>

10-07 17:41