javascript - d3.js 图表中的错误行
问题描述
我不知道为什么我在 d3.js 图表中有一些错误的行。我不确定这是编码问题,因为如果我尝试更改 Chrome 上的选项卡然后返回图表的选项卡,错误的行就会消失。
很难理解是什么问题,都'添加图像更好地解释。
这是更新图表的 javascript 代码(我正在使用 Vue.js)
const line = d3.line()
.x((_d,i) => this.xScale(this.zoom* i))
.y(d => this.yScale(d))
.curve(d3.curveBasis);
this.svg.select('#g-path').select('path')
.attr('d', line(this.data))
.style("stroke-linejoin", "round")
.style('fill', 'none')
.style('stroke', 'green')
.style('stroke-width', 1);
编辑:如果我单击页面中的另一个组件,线条也会消失。
谢谢!
解决方案
我怀疑这可能是斜接的问题
当两条线段以锐角相交并且已为 stroke-linejoin 指定斜接时,斜接可能会延伸到远远超出描边路径的线的厚度。stroke-miterlimit 比率用于定义何时超过限制,如果超过,则连接将从斜接转换为斜角。
源代码
虽然圆线连接不应该导致问题,但当线非常接近时可能会出现一些计算错误。
您可以尝试斜接线连接,以防止线条延伸。
.style("stroke-linejoin", "miter")
.style("miter-clip", "1")
推荐阅读
- javascript - UTF-8 在反应中解码 this.props
- google-cloud-platform - 我们如何将“用于互操作访问的默认项目”更改为谷歌云平台中的另一个项目
- php - 捕获使用 PHP 邮件程序和 smtp 中继发送的电子邮件
- python - 为什么 selenium 在这个 div 中找不到任何东西?
- python - 构建 Wagtail 管理菜单:如何获取/设置菜单项名称?
- php - 用 Woocommerce 单品页面中的 SKU 替换产品标题
- html - 如何在下拉菜单中添加关闭按钮
- mysql - 如何优化 MYSQL 查询?
- vaadin - 如何以编程方式在网格编辑器字段中显示错误消息?(瓦丁 13)
- c# - 使用 Automapper 映射两个集合时如何使用 BeforeMap Action?