gpt4 book ai didi

javascript - 在图表中显示低于或高于阈值的区域在 D3 中不起作用

转载 作者:行者123 更新时间:2023-11-28 17:00:00 25 4
gpt4 key购买 nike

我有一个用 React 实现的 D3 图表。我显示低于或高于阈值的区域,即蓝色虚线。但它没有按预期工作。

代码沙箱 here .

enter image description here数据:

var data = [
{
startTime: "1570184520049",
magnitude: -20
},
{
startTime: "1570875720049",
magnitude: 0
},
{
startTime: "1571653320049",
magnitude: 10
},
{
startTime: "1572517320049",
magnitude: 0
},
{
startTime: "1573467720049",
magnitude: 0
},
{
startTime: "1574504520049",
magnitude: 10
},
{
startTime: "1575627720049",
magnitude: 0
}
];

我的区域代码:

var area = d3
.area()
.x0(function(d) {
return xScale(d.startTime);
})
.x1(function(d) {
return xScale(d.magnitude);
})
.y0(function(d) {
return yScale(d.magnitude);
})
.y1(height);

这对于上述数据来说效果很好。
但是,如果我对数据的最后一个元素有一些值(大小),它就不起作用。对于较少的数据元素,它不起作用。

  {
startTime: "1575627720049",
magnitude: 10
}

enter image description here有人可以告诉我问题是什么或者我哪里做错了吗。

最佳答案

您应该更新函数的 y1 定义,例如 .y1(yScale(0)) 在这种情况下,所有内容都将与您的绝对 0 相关图表上的 code> ,第一个点和最后一个点的原点为比例 0

区域完整更新:

 var area = d3
.area()
.x(function(d) {
return xScale(d.startTime);
})
.y0(function(d) {
return yScale(d.magnitude);
})
.y1(yScale(0));

关于javascript - 在图表中显示低于或高于阈值的区域在 D3 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57783991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com