λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
Vue.js

[Vue.js] Char.js 라벨 κ°’(value) ν‘œμ‹œν•˜κΈ°

by Jo__y 2022. 10. 28.

Chart.js ν”ŒλŸ¬κ·ΈμΈμ— μ˜΅μ…˜κ³Ό λ‹€μ–‘ν•œ κΈ°λŠ₯을 μ „λΆ€ λ‹€ μ•Œκ³  μ‚¬μš©ν•˜κΈ΄ μ–΄λ €μš°λ‹ˆ

ν•„μš”ν• λ•Œλ§ˆλ‹€ μ°Ύμ•„λ³΄κ²Œ λœλ‹€.

그런데 생각보닀 λ²„μ „λ³„λ‘œ μ μš©ν•˜λŠ” 것도 λ‹¬λΌμ„œ 라벨 κ°’ ν‘œμ‹œν•˜λŠ”λ° μ• λ₯Ό μ’€ λ¨Ήμ—ˆλ‹€.

λ‚΄κ°€ μ‚¬μš©ν•œ chart.js 버전은 λ‹€μŒκ³Ό κ°™λ‹€

chart.js : 2.9.4
chartjs-plugin-datalabels : 0.7.0
vue-chartjs : 3.5.1

λ‚˜λŠ” chart.js 2.x λ₯Ό μ‚¬μš©ν•΄μ„œ datalabels λ₯Ό 2.x λ₯Ό μ„€μΉ˜ν–ˆμ„λ•Œλ„ λ™μž‘μ„ ν•˜μ§€ μ•Šμ•—κ³ , 1.x둜 λ‚΄λ Έμ„λ•Œλ„ λ™μž‘ν•˜μ§€ μ•Šμ•˜λ‹€.
μ°Ύκ³  μ°Ύμ•„μ„œ 0.7.0 버전을 μ„€μΉ˜ν•΄μ„œμ•Ό 라벨 값을 ν‘œμ‹œ ν•  수 μžˆμ—ˆλ‹€.
λ§Œμ•½ chart.js 3.x λ₯Ό μ‚¬μš©ν•œλ‹€λ©΄ datalables λŠ” 2.x 이상 ν•„μš”ν•˜λ©° μžμ„Έν•œ λ‚΄μš©μ€ μ•„λž˜ κ³΅μ‹λ¬Έμ„œμ—μ„œ 확인 ν•  수 μžˆλ‹€.

chartjs-plugin-datalabels Getting Started

데이터라벨 값을 ν‘œμ‹œν•˜μ§€ μ•ŠμœΌλ©΄,
μ •ν™•ν•œ 수치λ₯Ό ν™•μΈν•˜κΈ°μœ„ν•΄ ν•˜λ‚˜ν•˜λ‚˜ 마우슀λ₯Ό μ˜¬λ €μ•Όν•˜λŠ” λΆˆνŽΈν•¨μ΄ μžˆλ‹€.

이λ₯Ό κ°œμ„ ν•˜κΈ°μœ„ν•΄ chartjs-plugin-datalabels λ₯Ό μ„€μΉ˜ν•˜κ³  ν”ŒλŸ¬κ·ΈμΈμ„ λͺ…μ‹œν•΄μ€€λ‹€.

import { HorizontalBar } from "vue-chartjs";
import ChartJSPluginDatalabels from "chartjs-plugin-datalabels";
export default {
  extends: HorizontalBar,
  plugins: [ChartJSPluginDatalabels],
  mounted() {
    this.load();
  },
  methods: {
    load() {
      this.renderChart(
        {
          labels: ["January", "February", "March", "April", "May", "June", "July"],
          datasets: [
            {
              labels: "Data One",
              backgroundColor: "#5E83BA",
              data: [40, 800, 10, 5000, 39, 7800, 7000],
              // *** datalabel option 지정 
              datalabels: {
                display: true, // defaultλŠ” true, false 둜 ν•˜λ©΄ 값을 숨길 수 μžˆλ‹€.
                align: "right",
                anchor: "end",
                color: "#898989",
                borderWidth: 2,
                padding: {
                  bottom: 0,
                  left: 20,
                },
              },
            },
          ],
        },
        {
          responsive: true,
          maintainAspectRatio: false,
          tooltips: {     
            mode: "index",     // 라벨 mouseoverμ‹œ tooltips 보이기
            intersect: false,
          },
          legend: {
            display: false,  // λ²”λ‘€ 숨기기
          },
        }
      );
    },
  },
};

이제 데이터 값을 ν•œλˆˆμ— λ³Ό 수 μžˆλ‹€.

λ°˜μ‘ν˜•

λŒ“κΈ€