Javascript 如何在nvd3图表中知道图表轴的最小最大值
我正在使用angular nvd3图表,希望检索x轴最小值和最大值,以便当我单击自定义下一步按钮时,将加载新的x轴值,图表将显示下一个值范围 我被困在这里,因为我找不到一种方法来获得当前x轴的最小最大值 这是我的密码Javascript 如何在nvd3图表中知道图表轴的最小最大值,javascript,angularjs,charts,nvd3.js,Javascript,Angularjs,Charts,Nvd3.js,我正在使用angular nvd3图表,希望检索x轴最小值和最大值,以便当我单击自定义下一步按钮时,将加载新的x轴值,图表将显示下一个值范围 我被困在这里,因为我找不到一种方法来获得当前x轴的最小最大值 这是我的密码 angular.module('sbAdminApp', ['nvd3']) .controller('DemoCtrl', ['$rootScope', '$scope', '$timeout', function ($rootScope, $scope, $timeout){
angular.module('sbAdminApp', ['nvd3'])
.controller('DemoCtrl', ['$rootScope', '$scope', '$timeout', function
($rootScope, $scope, $timeout){
$rootScope.curlabel = "year";
$scope.curformat = "mon"
$scope.options = {
chart: {
type: 'discreteBarChart',
height: 450,
staggerLabels: false,
x: function(d){return d.label;},
y: function(d){return d.value;},
showValues: true,
valueFormat: function(d){ return d3.format(',.4f')(d); },
dispatch: {
tooltipShow: function(e){ console.log('! tooltip SHOW !')},
tooltipHide: function(e){console.log('! tooltip HIDE !')},
beforeUpdate: function(e){ console.log('! before UPDATE !')}
},
discretebar: {
dispatch: {
//chartClick: function(e) {console.log("! chart Click !")},
elementClick: function(d) {
//console.log(d);
var labelValue = d.data.label;
$scope.newchart($rootScope.curlabel, labelValue);
}
}
},
zoom: {
enabled: true,
scaleExtent: [1, 10],
useFixedDomain: false,
useNiceScale: false,
horizontalOff: false,
verticalOff: true,
unzoomEventType: 'dblclick.zoom'
}
}
};
$scope.data = [
{
key: "Cumulative Return",
values: [
{
"label" : 2010 ,
"value" : -29.765957771107
} ,
{
"label" : 2011 ,
"value" : 0
} ,
{
"label" : 2012 ,
"value" : 32.807804682612
} ,
{
"label" : 2013 ,
"value" : 196.45946739256
} ,
{
"label" : 2014 ,
"value" : 0.19434030906893
} ,
{
"label" : 2015,
"value" : -98.079782601442
} ,
{
"label" : 2016 ,
"value" : -13.925743130903
} ,
{
"label" : 2017 ,
"value" : -5.1387322875705
},
{
"label" : 2018 ,
"value" : -5.1387322875705
},
{
"label" : 2019 ,
"value" : -5.1387322875705
}
]
}
];
提前感谢您可以直接从数据数组中获取最小值和最大值
const数据=[{
关键字:“累积回报”,
价值观:[{
“标签”:2010年,
“价值”:-29.765957771107
},
{
“标签”:2011年,
“值”:0
},
{
“标签”:2012年,
“值”:32.807804682612
},
{
“标签”:2013年,
“价值”:196.45946739256
},
{
“标签”:2014年,
“价值”:0.194340030906893
},
{
“标签”:2015年,
“价值”:-98.079782601442
},
{
“标签”:2016年,
“价值”:-13.925743130903
},
{
“标签”:2017年,
“价值”:-5.1387322875705
},
{
“标签”:2018年,
“价值”:-5.1387322875705
},
{
“标签”:2019年,
“价值”:-5.1387322875705
}
]
}];
log(Math.max(…数据[0].values.map(v=>v.label));
log(Math.min(…数据[0].values.map(v=>v.label))代码>您的数据在哪里?你不能简单地得到你的数据数组的最小值和最大值吗?数据将是一系列年的x轴和一些值的y轴,但是我不能在图中一次显示整个数据,所以我会立即加载有限的数据,然后在下一个按钮上加载其余的数据,然后得到这个部分的最小和最大数据。我的数据是这样的:$scope.data=[{key:“Cumulative Return”,value:[{“label”:“2010”,“value”:-29.765957771107},{“标签”:“2011”,“值”:0}]}然后获取$scope.data.values
的最小值和最大值,我不知道我错在哪里,但我正在尝试这个……$scope.loadNext=function(){var max=Math.max($scope.data[0].values.map(v=>v.label));console.log(max);};它仍然返回NaNYeah我有多傻,现在它工作得很好谢谢你这么多Weedoze,感谢你对我的耐心。很抱歉,因为你在上一个查询中帮助了我,它工作得很好,但现在我正在Explorer上测试它,它在Math.max(…$scope.data[0].values.map(v=>v.label))行中给了我语法错误;@ShaliniSengar是的,你是对的,你应该使用类似Babel的东西来编译它或者使用一个polyfill函数