Javascript 面积/折线图未按预期使用堆叠:百分比和负值

Javascript 面积/折线图未按预期使用堆叠:百分比和负值,javascript,highcharts,Javascript,Highcharts,我正在尝试制作一个人口金字塔型的图表,同时有条线和条线 我还需要放置一个复选框,允许用户切换到百分比值 我面临的问题是,当我设置stacking:percent 两行数列的值被复制,前面只有一个负号,所以当切换到%时,我希望看到所有的值都是50%。但由于某些原因,蓝线始终为0% 编辑: 正如Bobby Orndorff在评论中解释的那样: 堆叠线/面积系列时,将第二个系列的值添加到第一个系列的值中。如果第二个系列的值具有相同的大小但符号不同,则总和将为零(即第二个系列将绘制为零)。堆叠条形图系

我正在尝试制作一个人口金字塔型的图表,同时有条线和条线

我还需要放置一个复选框,允许用户切换到百分比值

我面临的问题是,当我设置
stacking:percent

两行数列的值被复制,前面只有一个负号,所以当切换到%时,我希望看到所有的值都是50%。但由于某些原因,蓝线始终为0%

编辑:

正如Bobby Orndorff在评论中解释的那样:

堆叠线/面积系列时,将第二个系列的值添加到第一个系列的值中。如果第二个系列的值具有相同的大小但符号不同,则总和将为零(即第二个系列将绘制为零)。堆叠条形图系列时,正值堆叠在零上方,负值堆叠在零下方

现在我的问题是:


如何使用线/面积系列实现与条形系列相同的效果?是否可以不手动编辑数据系列(自己做百分比)?

Highcharts按预期工作。堆叠线/面积系列时,将第二个系列的值添加到第一个系列的值中。如果第二个系列的值具有相同的大小但符号不同,则总和将为零(即第二个系列将绘制为零)。堆叠条形图系列时,正值堆叠在零上方,负值堆叠在零下方。从视觉上看,按点/线/面积序列的堆叠方式将两个值相加是没有意义的。这是大多数图表处理堆叠的方式(例如Microsoft Excel图表)。在Highcharts中,负值和正值的堆叠是分开的。当我们禁用tooltip.formatter时,您可以观察到值接近于0,因为它们类似于-0.4/-1等,所以实际上接近于0。抱歉@SebastianBochan我没有完全理解你说的话。。问题不在于我的数据接近于0,问题就像@bobby解释的那样,是直线/面积序列的堆叠工作方式不同于条形序列。如果我将-25和25作为第一个数据点()的值,并使用线系列的
stacking:percent
选项,它将变为50%,因为25是|-25 |+| 25 |的50%,那么对于另一个系列,因为它是-25,点被放置在0上,因为它是-50%(50%-50%=0)。Highcharts按预期工作。堆叠线/面积系列时,将第二个系列的值添加到第一个系列的值中。如果第二个系列的值具有相同的大小但符号不同,则总和将为零(即第二个系列将绘制为零)。堆叠条形图系列时,正值堆叠在零上方,负值堆叠在零下方。从视觉上看,按点/线/面积序列的堆叠方式将两个值相加是没有意义的。这是大多数图表处理堆叠的方式(例如Microsoft Excel图表)。在Highcharts中,负值和正值的堆叠是分开的。当我们禁用tooltip.formatter时,您可以观察到值接近于0,因为它们类似于-0.4/-1等,所以实际上接近于0。抱歉@SebastianBochan我没有完全理解你说的话。。问题不在于我的数据接近于0,问题就像@bobby解释的那样,是直线/面积序列的堆叠工作方式不同于条形序列。如果我将-25和25作为第一个数据点()的值,并使用线系列的
stacking:percent
选项,它将变为50%,因为25是|-25 |+| 25 |的50%,那么对于另一个系列,因为它是-25,所以点被放置在0上,因为它是-50%(50%-50%=0)。