nvd3 lineChart forceY(0)仍然将值设置为低于0

时间:2015-09-07 14:15:03

标签: javascript angularjs charts nvd3.js

我在优秀的nvd3中遇到了chart.forceY的问题。我需要将趋势线添加到折线图(带有三个数据集),偶尔可以渲染负数,这会导致轴渲染到0以下并在零线下方画线。这可以被认为是预期的行为,但在这种情况下是不需要的。

我玩过this plunk

app.controller('MainCtrl', function($scope) {
  $scope.options = {
            chart: {
                type: 'lineChart',
                height: 450,
                margin : {
                    top: 20,
                    right: 20,
                    bottom: 40,
                    left: 55
                },
                x: function(d){ return d.x; },
                y: function(d){ return d.y; },
                useInteractiveGuideline: true,
                forceY: 0,
...

看看我是否可以使用chart.forceY(0)将y轴最小值限制为零,但它始终坚持用负值绘制所有内容。 Fidel90 in this question提出了这种方法。范围[-10,0,10]工作正常,但[0,10]仍然呈现低于0行的内容。

所需图表的上下文表明负数永远不会发生,但如果价值在足够短的时间内允许足够大的变化,它们就会存在于趋势中。我们曾经使用flot来制作这些并且迫使最少0个处理,但由于需要更高级的图表和更好的控制,选择了d3(角度nvd3)。 如何强制图表仅呈现具有正值的值并忽略 - 不在Y轴上呈现低于0的任何值?

0 个答案:

没有答案