Javascript 一个y轴nvd3/d3的变化范围
我目前使用的是multiChart模型,我有两个不同的y轴。我想更改这两个轴,使它们从0开始,因为当前它们从最小的y数据点开始 我试着做了以下几件事Javascript 一个y轴nvd3/d3的变化范围,javascript,d3.js,nvd3.js,Javascript,D3.js,Nvd3.js,我目前使用的是multiChart模型,我有两个不同的y轴。我想更改这两个轴,使它们从0开始,因为当前它们从最小的y数据点开始 我试着做了以下几件事 chart.yAxis1 tickFormat(d3.format(',.f')) .domain([0,max_y]); 但这似乎不起作用 及 它告诉我,没有强迫函数 有什么想法吗?.domain([0,max_y])应该用于对象,而不是对象 因此: 这应该行得通;如果没有,您应该将您拥有的发布为。您可以强制NVD3中的最小值和最大值用于线条图
chart.yAxis1
tickFormat(d3.format(',.f'))
.domain([0,max_y]);
但这似乎不起作用
及
它告诉我,没有强迫函数
有什么想法吗?.domain([0,max_y])
应该用于对象,而不是对象
因此:
这应该行得通;如果没有,您应该将您拥有的发布为。您可以强制NVD3中的最小值和最大值用于线条图或条形图,请尝试以下操作:
chart.bars.forceY([0]);
chart.lines.forceY([0,100]);
我发现解决问题的唯一方法是在图表定义中添加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],
资料来源:
嘿,我的代码使用数据库中的数据点,因此我不确定如何向您显示我的图形。我尝试过使用var yscale1=d3.scale.linear().domain([0400000]);但我得到了未捕获的TypeError:无法调用未定义的方法“linear”。顺便说一句,我使用nvd3制作图形,而不仅仅是d3.console.log(JSON.stringify(data))->copy/paste您找到解决方案了吗?我也有同样的问题。谢谢这适用于直线加条形图,但似乎不适用于多图表。此响应中有输入错误,应为
chart.lines.forceY([0,100])代码>。编辑。对我有用。谢谢!它不适用于负值
var chart = nv.models.multiChart()
.yDomain1([-20, 80])
.yDomain2([-50, 200])
$scope.dashOptions = {
chart : {
type : 'multiChart',
yDomain1:[-20, 80],
yDomain2:[-50, 100],