我需要使用这些数据构建条形图。
var data = [1, 2, 3, 4, 5, 6, 7, 8];
和此数据的标签 - 1月格式"月,年" - 所有其他月份 - 格式"月"。
var labels = ['Jan 14', 'Apr', 'Oct', 'Dec', 'Jan 15', 'Apr', 'Oct', 'Dec']
我添加了构建图表的代码
new Contour({
el: '#bar-chart-months',
xAxis: {
title: 'Months',
categories: labels
}
})
.cartesian()
.column(data)
.render();
删除了重复标签中的数据。我只有几个月的第一个值,这是重复的。
关闭当然如果我添加年份(或其他文本,这些标签是唯一的) - 它的工作原理。但我不需要这样做。
上的示例我发现了一个肮脏的技巧 - 在月底添加不同数量的空间 - 它有效,但它不干净。
答案 0 :(得分:0)
您在示例中看到了这种行为,因为您实际上只定义了两个不同的类别,而Contour正在尝试将您的数据值分配给类别。
要实现您想要的效果(Jan的格式与其他几个月不同),您需要为xAxis标签定义自定义格式化程序,您可以根据类别返回正确的标签,例如:
function (x) {
var year = 14 + Math.floor(x/12);
var month = x % 12;
if (month === 0) {
return monthLabels[0] + ' ' + year;
}
return monthLabels[month];
}
这是一个JsFiddle与我的意思。 http://jsfiddle.net/d5wqhb7p/
希望这有帮助,
的Jaime