我正在尝试使用 D3 构建折线图,我正在使用this example。
我面临的问题是,当我传递的数据集中linear.domain()
fof y
中包含相同的值时,折线图的线条会在< strong>水平轴,因此不可见。此外, y轴上不会打印任何数字。
以下是我的代码JSFiddle。
metrics
变量包含3个对象,三个具有相同值的不同时间戳。在结果面板上,线条将在 x轴之上绘制。如果将三个值中的一个从5更改为任何其他数字,则折线图将正常绘制。
当metrics
变量包含相同值的值时,如何在 y轴的中间画线?
由于
答案 0 :(得分:0)
而不是行
y.domain(d3.extent(metrics, function(d) { return d.close; }));
使用
y.domain([d3.max(metrics, function(d) { return d.close; }) + 0.01,
d3.min(metrics, function(d) { return d.close; }) - 0.01]);
问题是,如果y scale只是长度为0的段,如[5.0,5.0](或5.0之外的任何其他数字),d3完全混淆,并且拒绝在y轴上显示任何内容,并且放置5.0在原产地。
使用新代码:对于相同的情况获得以下内容:
]
这里也是link to jsfiddle。