javascript - D3 点与曲线面积图不匹配

标签 javascript d3.js

您好,我正在尝试使用 d3 创建面积图,并尝试将 d3 生成的坐标与 d3.symbolCircle 进行匹配。

这就是我所拥有的:

https://codepen.io/anon/pen/bozoQa

您会注意到,在当前状态下,点与生成的线不匹配。

原因是第 133 行。

const area = d3.area()
    .x((d, i) => xScale(data.xAxis.categories[i]))
    .y0(viewModel.height)
    .y1((d) => yScale(d))
    .curve(d3.curveBasis)

这会将区域创建为曲线而不是直线。如果我删除这些点就会匹配并且它会起作用,但我需要该图表具有曲线。

考虑到这一点,无论我将在面积图上设置什么类型的曲线,如何将点设置在正确的位置?

最佳答案

您应该使用其他插值函数,例如curveCardinal。看this demo page ,当您可以为您的情况选择插值函数时(单击函数名称会出现/消失相应的行)。

curveCardinal看看我的笔叉 - https://codepen.io/levvsha/pen/YrBEzN?editors=1010

const area = d3.area()
  .x((d, i) => xScale(data.xAxis.categories[i]))
  .y0(viewModel.height)
  .y1((d) => yScale(d))
  .curve(d3.curveCardinal);

关于javascript - D3 点与曲线面积图不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46826228/

相关文章:

javascript - Html 中的摆动弹性动画

javascript - 加载不同网站的 html

javascript - 使用 Tensorflow.js 和 tf.Tensor 处理大数据的最佳方式是什么?

javascript - 如何使用交叉过滤器从日期列的 DOW 中获取平均值以填充条形图

javascript绘制粒子

从 Typescript 文件导入时,Javascript 代码在 react-scripts 构建中获取 "Attempted import error:"

javascript - 使用 d3pie.js 饼图更新数据时出错

d3.js - d3 地理投影从正交到 X 的转换

javascript - 堆叠条形图的 X Y 坐标

javascript - 带时间维度的条形图