我目前正在使用multiChart模型,我有两个不同的y轴。我想要更改两个轴,使它们从0开始,因为它们目前从最小的y数据点开始。
我尝试过以下
chart.yAxis1
tickFormat(d3.format(',.f'))
.domain([0,max_y]);
但这似乎不起作用
和
.forceY ([0, max_y])
它告诉我没有强制功能
有什么想法吗?
答案 0 :(得分:10)
您可以在NVD3中强制显示行或条形图的最小值和最大值,请尝试以下操作:
chart.bars.forceY([0]);
chart.lines.forceY([0,100]);
答案 1 :(得分:1)
.domain([0, max_y])
应在scale对象上使用,而不是axis object。
所以:
var yScale = d3.scale.linear().domain([0,max_y])
var yAxis = d3.svg.axis().scale(yScale)
这应该有用;如果没有,你应该发布你的jsfiddle。
答案 2 :(得分:0)
我发现解决问题的唯一方法是在图表定义中添加yDomain1或yDomain2
对于nvd3:
var chart = nv.models.multiChart()
.yDomain1([-20, 80])
.yDomain2([-50, 200])
对于nvd3 AngularJS:
$scope.dashOptions = {
chart : {
type : 'multiChart',
yDomain1:[-20, 80],
yDomain2:[-50, 100],