我在优秀的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的任何值?