D3.js D3-使用图表中的数据添加数据点

D3.js D3-使用图表中的数据添加数据点,d3.js,D3.js,我这里有一场闪电战- 我有一个顶部有折线图的堆积条形图 条形图和折线图有两个不同的数据集,我使用第二个y轴来绘制折线图数据 折线图点是每个月列中两个堆叠图表的总和 不必为折线图提供单独的数据和y轴,而是可以将每个月的堆叠条形图中的数据相加,并使用一个y轴将其绘制在图形上,这可以通过多种方式实现。您可以使用所有三个d、i、数据参数重新定义行.x、.y和定义的访问器,也可以像下面这样映射数据: .data( linedata.reduce(function(acc, current, ind

我这里有一场闪电战-

我有一个顶部有折线图的堆积条形图

条形图和折线图有两个不同的数据集,我使用第二个y轴来绘制折线图数据

折线图点是每个月列中两个堆叠图表的总和


不必为折线图提供单独的数据和y轴,而是可以将每个月的堆叠条形图中的数据相加,并使用一个y轴将其绘制在图形上,这可以通过多种方式实现。您可以使用所有三个
d
i
数据
参数重新定义
行.x
.y
定义的
访问器,也可以像下面这样映射数据:

.data(
    linedata.reduce(function(acc, current, index) {
        let isFirstPair = index % 2 === 0;
        let currentDate = that.y1(current.date)
        let currentValue = that.y1(current.value)

        if (isFirstPair) {
            acc.push({ date: currentDate, value: currentValue });
        } else {
            acc[acc.length - 1].value += currentValue;
        }

        return acc;
    }, [])
)

它将为源数组中的每个后续对创建一个新对象。您可能需要调整日期或
.x
访问器。

谢谢您的反馈-在我的示例中,这适合哪里?您可以从替换
.data([linedata])
开始(
条形图.ts
,第273行)。是的,这是可能的。您是否尝试过任何代码来实现这一点?如何使用基于月份嵌套数据,并将值相加,然后使用它基于键堆叠条形图?如果你能设法回来,我将不胜感激。