在NVD3折线图最大和最小值中添加更多空间(填充)

时间:2017-11-06 21:22:33

标签: nvd3.js ng2-nvd3

让我们举个例子:
krispo.github.io/angular-nvd3/#/lineChart

enter image description here

我想在折线图的最小值/最大值与x轴/顶部之间添加更多空间(填充类型)。

这是一个option called yDomain

  

定义整个Y比例的域名。 使用此功能将禁用基于数据计算域

粗体部分意味着如果我将min设置为-100,如果我的图表低于该级别,我将不再看到它。或者,如果我的图表的最小值实际为-50,那么-100就太多了。

所以基本上我希望Y轴的最小值和最大值分别是图表最小值和最大值的10%。

1 个答案:

答案 0 :(得分:1)

找到解决方案。这只是数学。 :/

我们需要先得到y-min / y-max:

const min = Math.min(...data.map(d => d.y));
const max = Math.max(...data.map(d => d.y));

然后(如果我们想要15%的保证金):

{
    ...
    yDomain: [min - (max - min) * 0.15, max + (max - min) * 0.15]
    ...
}