- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
红框区域是让我很烦的部分,那是路径的起点和终点,但是没有曲线效果
我的代码很简单:
const svg = d3.select("svg");
let data = [[1, 3], [2, 4], [3, 4], [5, 6], [6, 5], [7, 3], [6, 1], [4, 2], [2, 2], [1, 3]]
let datax = data.map(v => v[0])
let datay = data.map(v => v[1])
let scale_x = d3.scaleLinear()
.domain([d3.min(datax), d3.max(datax)])
.range([0, 960])
let scale_y = d3.scaleLinear()
.domain([d3.min(datay), d3.max(datay)])
.range([500, 0])
let curve_generator = d3.line()
.x((d) => scale_x(d[0]))
.y((d) => scale_y(d[1]))
.curve(d3.curveBasis)
svg.append('path')
.attr('d', curve_generator(data))
.attr('stroke', 'gray')
.attr('stroke-width', 2)
.attr('fill', 'none')
最佳答案
在我看来,在您的数据中,最后一点与第一个点位于同一位置,只是为了“关闭”路径。如果是这种情况,只需删除最后一点并使用 d3.curveBasisClosed
,这样 D3 将为您关闭路径:
const svg = d3.select("svg");
let data = [
[1, 3],
[2, 4],
[3, 4],
[5, 6],
[6, 5],
[7, 3],
[6, 1],
[4, 2],
[2, 2]
]
let datax = data.map(v => v[0])
let datay = data.map(v => v[1])
let scale_x = d3.scaleLinear()
.domain([d3.min(datax), d3.max(datax)])
.range([0, 300])
let scale_y = d3.scaleLinear()
.domain([d3.min(datay), d3.max(datay)])
.range([150, 0])
let curve_generator = d3.line()
.x((d) => scale_x(d[0]))
.y((d) => scale_y(d[1]))
.curve(d3.curveBasisClosed)
svg.append('path')
.attr('d', curve_generator(data))
.attr('stroke', 'gray')
.attr('stroke-width', 2)
.attr('fill', 'none')
<script src="https://d3js.org/d3.v7.min.js"></script>
<svg></svg>
关于javascript - 如何绘制闭合曲线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74341609/
单击位于阴影根内部的元素时出现空指针异常(已关闭) 尝试用 Java 脚本处理它: public WebElement getShadowRootElement(WebElement element)
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 3 年前。 Improve th
我开始了解 Javascript 中的原型(prototype)设计和闭包,但还不完全是这样。下面的示例中,我的两个对象,第二个对象似乎失去了范围/上下文并接管了第一个对象的身份。 function
我有一个 Ionic 应用程序,我正在尝试从闭包内部返回数据。控制台正确显示所有内容,但我似乎无法正确返回数据。我尝试了几种不同的变体,但没有成功。 $scope.callbackMethod = f
我正在编写一个程序,能够识别面部的以下特征: 眼睛是睁着还是闭着 嘴巴是张开还是闭合(最好是张开程度) 脸部转向的方向(左、右或正面) 与其从头开始开发此功能(这所以不是我的领域),我希望能够使用第三
我有一个错误,我不明白,我有一个json,我做了一个接口,当我试图循环它时,我在我的html中得到了一个错误。。JSON格式对我来说相当复杂。。谢谢。。图片中的错误。杰森。接口。服务。Ts.file。
我是一名优秀的程序员,十分优秀!