我正在使用ChartJS来构建条形图。我的图表包含一年中每周的一个栏。我希望每个栏的工具提示显示“第15周(4月10日 - 4月16日)”,而x轴上的相应标签应仅显示周数,因此“15”。
这answer描述了我想要完成的内容,尽管我使用的是条形图,而不是散点图。我在条形图上尝试了这种方法,并从我添加到数据集的标签中提取了周数(“第15周(4月10日 - 4月16日)” - >“15”)。但是,userCallback函数会使用值“15”覆盖x轴标签和工具提示标签。有人可以告诉我如何只修改每个条形的x轴标签(不影响工具提示标签)或建议另一种方法吗?
编辑:摆弄我的代码:https://jsfiddle.net/96z57gqf/。 x轴标签是正确的,但我需要条形工具提示来保持原始值(“第12周”,“第13周”等)。
xAxes: [{
ticks: {
userCallback: function(value, index, values) {
return value.replace("Week ","");
}
}
}]
EDIT2 / SOLUTION:见https://jsfiddle.net/3ft4wrL9/。从下面的Vinod的回答中,我修改了我的选项,包括:
tooltips: {
mode: 'index',
intersect: true,
callbacks: {
title: function(tooltipItem, data) {
return data["labels"][tooltipItem[0]["index"]];
}
}
},
答案 0 :(得分:-1)
如果您使用的是chart.js 2,那么您可以使用这样的工具提示回调方法记录here内部选项,以便自定义您的工具提示
tooltips: {
callbacks: {
label: function(tooltipItem, data) {
//TODO return what you want using value of tooltipItem and data
}
}
}