NVD3 - 时间格式
NVD3 - Time Format
我正在尝试使用 nvd3 在 angularjs 中显示条形图,这样 x 轴显示日期,y 轴显示时间。
我尝试了以下方法:
$scope.options1 = {
chart: {
type: 'discreteBarChart',
height: 450,
margin: {
top: 20,
right: 20,
bottom: 50,
left: 55
},
x: function(d) {
return d.date;
},
y: function(d) {
return d.hour;
},
showValues: true,
duration: 500,
xAxis: {
axisLabel: 'Date',
tickFormat: function(d) {
return d3.time.format('%d-%m-%y')(new Date(d));
}
},
yAxis: {
axisLabel: 'Time of Day',
axisLabelDistance: -10,
tickFormat: function(d) {
return d3.time.format("%H%p")(new Date(d));
}
}
}
};
$scope.data1 = [{
key: "Cumulative Return",
values: [{
"date": "01-Jun-16",
"hour": "9AM"
}, {
"date": "04-Jun-16",
"hour": "10AM"
}, {
"date": "02-Jun-16",
"hour": "2PM"
}, {
"date": "03-Jun-16",
"hour": "4PM"
}]
}]
我的问题是代码显示的是 NaN 而不是任何值(所以我想我以错误的方式解析值但找不到更好的解决方案)
知道这里可能出了什么问题吗?
这不是我想要的,但我通过将小时数转换为 0-24 整数设法解决了这个问题
x: function(d) {
return d3.time.format('%d-%m-%y')(new Date(d.date));
},
y: function(d) {
var timeParser = d3.time.format("%I%p");
var time = new Date(timeParser.parse(d.hour));
var hour = time.getHours();
return hour;
},
我正在尝试使用 nvd3 在 angularjs 中显示条形图,这样 x 轴显示日期,y 轴显示时间。 我尝试了以下方法:
$scope.options1 = {
chart: {
type: 'discreteBarChart',
height: 450,
margin: {
top: 20,
right: 20,
bottom: 50,
left: 55
},
x: function(d) {
return d.date;
},
y: function(d) {
return d.hour;
},
showValues: true,
duration: 500,
xAxis: {
axisLabel: 'Date',
tickFormat: function(d) {
return d3.time.format('%d-%m-%y')(new Date(d));
}
},
yAxis: {
axisLabel: 'Time of Day',
axisLabelDistance: -10,
tickFormat: function(d) {
return d3.time.format("%H%p")(new Date(d));
}
}
}
};
$scope.data1 = [{
key: "Cumulative Return",
values: [{
"date": "01-Jun-16",
"hour": "9AM"
}, {
"date": "04-Jun-16",
"hour": "10AM"
}, {
"date": "02-Jun-16",
"hour": "2PM"
}, {
"date": "03-Jun-16",
"hour": "4PM"
}]
}]
我的问题是代码显示的是 NaN 而不是任何值(所以我想我以错误的方式解析值但找不到更好的解决方案) 知道这里可能出了什么问题吗?
这不是我想要的,但我通过将小时数转换为 0-24 整数设法解决了这个问题
x: function(d) {
return d3.time.format('%d-%m-%y')(new Date(d.date));
},
y: function(d) {
var timeParser = d3.time.format("%I%p");
var time = new Date(timeParser.parse(d.hour));
var hour = time.getHours();
return hour;
},