Chart.js chartjs-don';不显示所有x轴数据点,但在工具提示中显示全部

Chart.js chartjs-don';不显示所有x轴数据点,但在工具提示中显示全部,chart.js,Chart.js,我使用的是一个有两条线的chartjs折线图。我有7个x轴数据点。我只想显示第一个、第二个和最后一个数据点。但是我想在工具提示中显示每个数据点。现在,我只在x轴标签中列出了1、2和7,因此工具提示正确地显示在2上,但在其他区域,当然什么都没有。那么,有没有办法不在x轴上显示特定的数据点(但代码中仍有用于工具提示的数据)?(此外,这是一个非常简单的示例,说明了我正在尝试做的事情) 标签:['1','2','',,'7'],您应该在1到7之间正确标记数据,并在回调函数中过滤xAxis标签 scal

我使用的是一个有两条线的chartjs折线图。我有7个x轴数据点。我只想显示第一个、第二个和最后一个数据点。但是我想在工具提示中显示每个数据点。现在,我只在x轴标签中列出了1、2和7,因此工具提示正确地显示在2上,但在其他区域,当然什么都没有。那么,有没有办法不在x轴上显示特定的数据点(但代码中仍有用于工具提示的数据)?(此外,这是一个非常简单的示例,说明了我正在尝试做的事情)


标签:['1','2','',,'7'],
您应该在1到7之间正确标记数据,并在回调函数中过滤xAxis标签

scales: {
  xAxes: [{
    ticks: {
      beginAtZero: true,
      callback: function(value, index, values) {
        if (index === 0 || index === 1 || index === count - 1) { // count = yourNumberOfDataValues
          return value
        }
      }
    },
    gridLines: {
      display: false
    },
  }]
},
默认情况下,工具提示使用点的xAxis标签,当没有xAxis标签时,该标签返回
undefined
。必须从标签数组中获取正确的标签

tooltips: {
    callbacks: {
      title: function(tooltipItem, data) {
        return sData.label[tooltipItem[0].index] // sData.label is your array with all data labels
      }
    }
  }

完成中的代码和示例。

我是否正确理解您希望在工具提示中显示所有标签,但仅显示1、2和x轴上的最后一个标签?我想在工具提示中添加xAxis数据,所有这些数据都跨越直线。目前,工具提示中没有显示xAxis数据,因为我只有1、2和7区域中的数据。我的目标不是让xAxis拥挤,而是在工具提示的行中显示xAxis编号。谢谢。从示例的外观来看,它看起来正是我需要的。没问题。如果您不能将我的代码应用于您的代码,请随时询问我。