修改Chart.js 2

时间:2017-04-12 12:05:08

标签: javascript chart.js chart.js2

我正在使用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"]];
      }
    }
  },

1 个答案:

答案 0 :(得分:-1)

如果您使用的是chart.js 2,那么您可以使用这样的工具提示回调方法记录here内部选项,以便自定义您的工具提示

tooltips: {
        callbacks: {
            label: function(tooltipItem, data) {
                //TODO return what you want using value of tooltipItem and data 
            }
        }
    }