为什么NVD3 StreamGraph会随时间移动y零轴?

为什么NVD3 StreamGraph会随时间移动y零轴?,graph,d3.js,data-visualization,nvd3.js,stream-graph,Graph,D3.js,Data Visualization,Nvd3.js,Stream Graph,使用倾斜图: : nvd3流量图将随时间急剧下降或上升。我搜索了SO和NVD3文档,但没有找到控制y轴在每个时间点的零点位置的变量。我也没有发现关于这一点的讨论。换句话说,是什么使整个图形向一个或另一个方向倾斜,以及如何控制或关闭此倾斜 我读了一点拜伦关于流线图的初始论文,但想不出来,我想在这里问一下 有没有人能告诉我有关这方面的文档,或者提供一些见解?对于堆叠面积图表,可以采用四种图表样式:堆叠、流、流中心和展开。默认的流图是流样式,如果数据中有任何零值,则这是偏离中心的版本 如果将样式显式设

使用倾斜图:

:

nvd3流量图将随时间急剧下降或上升。我搜索了SO和NVD3文档,但没有找到控制y轴在每个时间点的零点位置的变量。我也没有发现关于这一点的讨论。换句话说,是什么使整个图形向一个或另一个方向倾斜,以及如何控制或关闭此倾斜

我读了一点拜伦关于流线图的初始论文,但想不出来,我想在这里问一下

有没有人能告诉我有关这方面的文档,或者提供一些见解?

对于堆叠面积图表,可以采用四种图表样式:堆叠、流、流中心和展开。默认的流图是流样式,如果数据中有任何零值,则这是偏离中心的版本

如果将样式显式设置为“流中心”,则图表将按预期运行。但是,在显示样式之间切换的单选按钮会切换回有问题的算法,因此需要禁用它们

chart.style('stream-center')
     .showControls(false);
这可能是因为另一种显示算法的存在意味着NVD3人员正在研究它。github问题页面可能是查找更新或响应的好地方:


不确定您的意思-y刻度应随时间保持不变,即0始终位于相同的y位置。任何上升或下降都会在数据中。你能用你用来创建图像的NVD3选项发布代码吗?有可能数据仍在中心,但您的一个区域是用白色绘制的……代码如下:谢谢@Larskothoff和AmeliaBR。基本上,当我选择一个单独的变量时,以F为例,在流格式中,图形中心从5下降到零。这是轴的下降“倾斜”,我不知道它基于哪一部分数据。i、 e.F的一个实例在Y轴上高于另一个实例意味着什么?谢谢我可以重现您的问题,我怀疑这是由数据中的大量空值造成的-每当区域变为零时,中心线就会被抛出。即使我将y-accessor函数更改为.yfunctiond{return d[1]| | 0},这样您得到的是0而不是null,它仍然会抛出面积的计算。D3有一种方法来识别和排除面积/线图中的空值,并相应地将路径划分为子区域,但我不确定它在NVD3中是如何实现的。如果我弄明白了,我会给你回电话的……你同意这个图只是一个流图吗?也就是说,没有切换到正常堆叠图形的选项。因为如果是这样,设置以下选项似乎有效:chart.style'stream-center.showControlsfalse;。我不知道为什么他们有两种不同的算法来计算流图,为什么还有另一种算法是用chart得到的。样式“stream”是附加到控件按钮上的默认值,但您可能希望向他们发送问题通知。