我有一个基于两个数据集的图形。我一直在尝试着色两行之间的区域。颜色应根据数据动态定义。为此,我选择使用SVG线性渐变,以便可以指定每种颜色应开始和停止的位置。我正在计算图形的交点,因此在这些位置,将使用每种颜色。主要思想是用红色(数据集1高于数据集2的颜色)和绿色(反之亦然)上的每个区域着色。为了简单起见,在塞子波纹管中,我对区域进行如下着色:从红色开始,然后是绿色,依此类推(我在每个交叉点更改颜色) 问题是,即使相交点计算正确,我开始和停止渐变的位置似乎也不正确。 here is the plunker描述了我要做什么以及问题。