Saya menggunakan grafik garis chartjs dengan 2 garis. Saya memiliki 7 titik data sumbu x. Saya hanya ingin menunjukkan titik data pertama, kedua, dan terakhir. TAPI saya ingin menunjukkan setiap titik data di tip alat. untuk saat ini, saya hanya mencantumkan 1, 2 dan 7 di label sumbu x, jadi tooltip ditampilkan dengan benar pada 2, tetapi di area lain tentu saja tidak ada apa-apa. Jadi apakah ada cara untuk TIDAK menampilkan titik data tertentu pada sumbu x (tetapi masih memiliki data dalam kode yang akan digunakan untuk tooltip)? (juga, ini adalah contoh yang sangat sederhana dari apa yang saya coba lakukan)

labels: ['1', '2', '','', ,, '7'],

Terima kasih.

enter image description here

0
devhead 21 September 2019, 02:45

1 menjawab

Jawaban Terbaik

Anda harus memberi label data Anda dengan benar dari 1 hingga 7 dan memfilter label xAxis dalam fungsi panggilan balik.

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
    },
  }]
},

Per default, tooltip menggunakan label xAxis dari suatu titik yang mengembalikan undefined ketika tidak ada label xAxis. Anda harus mendapatkan label yang tepat dari array label Anda.

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

Lengkapi kode dan contoh di JSbin ini.

1
HeadhunterKev 24 September 2019, 07:41