C3JS - 正确分组日期
C3JS - Group dates correctly
我正在使用库 c3js 来显示面积图。
我的日期数据有问题。我有很多日期 (+/- 1000),我想正确地分组我的日期。
这是我的实际渲染:
[
您可以看到一些日期在 x 轴上出现了两次。
这是我的图表代码:
var usedList = JSON.parse(usedList);
var format = informations[0];
var counts = informations[1];
var amounts = new Array('Evolution');
var dates = new Array("x");
for (var i = 0; i < usedList.length; i++)
{
amounts.push(usedList[i].price);
dates.push(usedList[i].date);
}
var chart = c3.generate({
bindto : '#js-chart',
size : {
height : 220
},
area: {
zerobased: false
},
data : {
selection : {
draggable : false
},
x : 'x',
columns : [ dates, amounts ],
types : {
Evolution : 'area'
},
colors : {
Evolution : '#143FB4'
}
},
axis : {
x : {
type : 'timeseries',
tick : {
fit: true,
format : format
},
padding: {
left: 0,
right: 0,
}
}
},
point : {
r : 0
},
grid : {
y : {
show : true
}
}
});
你认为我可以如何重新组合日期以便每个月只重复一次?
谢谢,
大卫
一个月只推送一个日期怎么办?
for (var i = 0; i < usedList.length; i++)
{
amounts.push(usedList[i].price);
// replacing existing dates with empty string, keeping array size
var d = usedList[i].date;
dates.push(dates.indexOf(d) == -1 ? d : '');
}
如果日期存储为 'MM/YYYY',这应该有效。
如果日期以不同的格式存储,则需要进行不同的检查。
但总体思路保持不变 - 在 x 轴上一个月只有一个日期。
我正在使用库 c3js 来显示面积图。 我的日期数据有问题。我有很多日期 (+/- 1000),我想正确地分组我的日期。
这是我的实际渲染:
[
您可以看到一些日期在 x 轴上出现了两次。
这是我的图表代码:
var usedList = JSON.parse(usedList);
var format = informations[0];
var counts = informations[1];
var amounts = new Array('Evolution');
var dates = new Array("x");
for (var i = 0; i < usedList.length; i++)
{
amounts.push(usedList[i].price);
dates.push(usedList[i].date);
}
var chart = c3.generate({
bindto : '#js-chart',
size : {
height : 220
},
area: {
zerobased: false
},
data : {
selection : {
draggable : false
},
x : 'x',
columns : [ dates, amounts ],
types : {
Evolution : 'area'
},
colors : {
Evolution : '#143FB4'
}
},
axis : {
x : {
type : 'timeseries',
tick : {
fit: true,
format : format
},
padding: {
left: 0,
right: 0,
}
}
},
point : {
r : 0
},
grid : {
y : {
show : true
}
}
});
你认为我可以如何重新组合日期以便每个月只重复一次?
谢谢, 大卫
一个月只推送一个日期怎么办?
for (var i = 0; i < usedList.length; i++)
{
amounts.push(usedList[i].price);
// replacing existing dates with empty string, keeping array size
var d = usedList[i].date;
dates.push(dates.indexOf(d) == -1 ? d : '');
}
如果日期存储为 'MM/YYYY',这应该有效。 如果日期以不同的格式存储,则需要进行不同的检查。 但总体思路保持不变 - 在 x 轴上一个月只有一个日期。