我想创建一个图表,将整数值映射到一年中的几天。非常像这个http://www.chartjs.org/samples/latest/scales/time/financial.html,但我希望每个月的第一天都有刻度,我不想显示年份。 (因为它发生在链接中没有显示年份,但我认为这是一个空间问题)
<canvas id="entries_by_doy" ></canvas>
var ctx = document.getElementById("entries_by_doy").getContext('2d');
var doyChart = new Chart(ctx, {
type: 'bar',
data: {
labels: ["2016-09-01", "2016-10-01"],
datasets: [{
data: [{t:"2016-03-31", y: 2},{t:"2016-09-01", y: 3},{t:"2016-09-2", y: 4}]
}]
},
options: {
scales: {
xAxes: [{type: 'time',
time: { displayFormats: { day: 'MMM D'}},
ticks: {source: 'labels'}
}],
yAxes: [{ ticks: {beginAtZero:true} }]
}
}
});
我希望displayFormats
指定标签的格式,如"display formats are used to configure how different time units are formed into strings for the axis tick marks",但似乎会被忽略。
进度:
我可以使用tooltipFormat
配置工具提示格式,但我仍然需要在x轴上配置刻度。
标签的长度似乎影响格式,分辨率也是如此。
Here标签是日期或时间,具体取决于窗口的宽度。
我尝试过使用像这样的回调
callback: function(value, index, values) {
if([0,29,60,90].some(x => x ==index)){
return value;
}
}
但并非所有刻度都以这种方式显示。我认为这是因为显示未定义(没有任何内容)而不是关闭刻度。 似乎2.7.1的更新解决了它......