我快崩溃了 D3
用于创建 trapezoid
使用 SVG.Area
.
有人可以告诉我是否有可能实现这一点,如果是,请简要介绍一下,因为我只能看到 3 个评估员 x,y1 and y0
.我不知道如何修复不同的 x
值(value)
最佳答案
而不是 d3.svg.area
,你应该使用 svg:polygon或 d3.svg.line
结合 closepath命令绘制梯形。
这是我如何做的一个快速示例:
<!DOCTYPE html>
<html>
<head>
<script data-require="d3@3.5.3" data-semver="3.5.3" src="//cdnjs.cloudflare.com/ajax/libs/d3/3.5.3/d3.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body>
<script>
var svg = d3.select('body')
.append('svg')
.attr('width', 500)
.attr('height', 500);
var line = d3.svg.line()
.x(function(d) {
return d.x;
})
.y(function(d) {
return d.y;
});
var points = [{
x: 100, y: 100
},{
x: 400, y: 100
},{
x: 375, y: 150
},{
x: 125, y: 150
}];
svg.append('path')
.attr("d", line(points) + 'Z')
.style("fill", "orange")
.style("stroke", "black");
</script>
</body>
</html>
关于d3.js - 使用 d3 svg.area 创建梯形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33735487/