javascript - 如何在 d3 线中创建弯曲

标签 javascript d3.js

如何在 d3 线中创建弯曲。

bend

我已经构建了具有锐利边缘的线(请参阅: http://jsfiddle.net/sxg6e4wj/ ),但不完全确定如何在边缘处创建弯曲。

var lineData = [ { "x": 20, "y": 20}, { "x": 20,  "y": 40},
                 { "x": 0,  "y": 40}, { "x": 0,   "y": 60} ];

var lineFunction = d3.svg.line()
 .x(function(d) { return d.x; })
 .y(function(d) { return d.y; })
 .interpolate("linear");

d3.select('body')
  .append("svg")
  .attr("width", 500)
  .attr("height", 500)
  .append('path')
  .style('fill', 'none')
  .style('stroke', 'blue')
  .style('stroke-width', 5)
  .attr('d', lineFunction(lineData));

最佳答案

您可以使用lines-linejoin样式来获得圆 Angular 线连接。

d3.select('body')
  .append("svg")
  .attr("width", 500)
  .attr("height", 500)
  .append('path')
  .style('fill', 'none')
  .style('stroke', 'blue')
  .style('stroke-width', 5)
  .style("stroke-linejoin","round")
  .attr('d', lineFunction(lineData));

如果您想制作更大的曲线,则必须在路径的每段之后添加曲线。这是JSFiddle带有我用于我的项目之一的示例代码。代码主要基于pathSegListcreateSVGPathSegCurvetoQuadraticAbs方法。希望这会有所帮助。

关于javascript - 如何在 d3 线中创建弯曲,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28314056/

相关文章:

javascript - 部署更新的 Javascript 文件

javascript - 如何在响应式图片上实现 turn.js

javascript - 为什么 D3 图表没有出现在我的 LeafletJS 弹出窗口中?

javascript - D3 时间解析返回 null

javascript - JQuery Ajax 未调用页面,但其他一切正常

javascript - 如何在带有井号的链接中强制页面重新加载?

javascript - 如何将 D3 工具提示放入 div 中?

javascript - map 中的气泡未在 d3 中的鼠标滚轮上放大 map 缩放

javascript - javascript 中的 this 是什么?它的意义是什么?

javascript - 在 d3.js 中合并数据