修改 Chart.js 中散点图的 X 轴标签 2
Modifying the X-Axis Labels of a Scatterplot in Chart.js 2
在 Chart.js 2 中,我生成了一个散点图,其中 x 坐标是 Epoch 时间戳,y 坐标是整数。我想知道是否有一种方法可以格式化图表的 x 轴标签,以便日期以人类可读的格式显示。
更新:目前我正在从以毫秒为单位的 Unix 时间戳构建我的图表。此原型的其他部分使用 Date class 的 toDateString 方法格式化这些日期(例如,Fri Aug 5 2016)。
为此,您可以使用 scales.xAxes
选项中的 ticks.userCallback
,以便您 return 每个 x 轴刻度的格式化日期。如果您使用的是 momentjs 附带的捆绑版本 chartjs,这真的很容易,但如果您只是以毫秒为单位传递时间戳,您可以对标签做任何您想做的事情。
options: {
scales: {
xAxes: [{
ticks: {
userCallback: function(label, index, labels) {
return moment(label).format("DD/MM/YY");
}
}
]}
}
}
版本 3.4 你可以这样做:
options: {
scales: {
x: {
ticks: {
// Include a dollar sign in the ticks
callback: function(value, index, values) {
return '$' + value;
}
}
}
}
}
在 Chart.js 2 中,我生成了一个散点图,其中 x 坐标是 Epoch 时间戳,y 坐标是整数。我想知道是否有一种方法可以格式化图表的 x 轴标签,以便日期以人类可读的格式显示。
更新:目前我正在从以毫秒为单位的 Unix 时间戳构建我的图表。此原型的其他部分使用 Date class 的 toDateString 方法格式化这些日期(例如,Fri Aug 5 2016)。
为此,您可以使用 scales.xAxes
选项中的 ticks.userCallback
,以便您 return 每个 x 轴刻度的格式化日期。如果您使用的是 momentjs 附带的捆绑版本 chartjs,这真的很容易,但如果您只是以毫秒为单位传递时间戳,您可以对标签做任何您想做的事情。
options: {
scales: {
xAxes: [{
ticks: {
userCallback: function(label, index, labels) {
return moment(label).format("DD/MM/YY");
}
}
]}
}
}
版本 3.4 你可以这样做:
options: {
scales: {
x: {
ticks: {
// Include a dollar sign in the ticks
callback: function(value, index, values) {
return '$' + value;
}
}
}
}
}