Изменение размера высоты vue-chartjs при сохранении его чувствительности

#vue.js #chart.js #resize #height #vue-chartjs

Вопрос:

Нужна помощь с диаграммой js

НА САМОМ ДЕЛЕ, Я ИСПОЛЬЗУЮ VUE-CHARTJS, НО ЭТО ВСЕГО ЛИШЬ ОБОЛОЧКА

на линейном графике слева число увеличивается на 5(0, 5, 10, 15, и т.д.) Я хочу, чтобы он увеличился на 10, а также уменьшил высоту диаграммы, чтобы соотношение сторон было примерно 16/9 введите описание изображения здесь

также можно ли заставить левое число говорить 5k , 10k , 15k вместо просто 5, 10, 15

вот мой код для диаграммы

 <script>
import { Line } from 'vue-chartjs'

export default {
  extends: Line,
  data: () => ({
    chartdata: {
    labels: ['January', 'February', 'March', 'April', 'May','Jun'],
    datasets: [
        {
            data: [12, 20, 27, 22, 14, 10],
            borderColor: "#135193",
            pointBackgroundColor: "#135193",
            pointBorderColor: "#135193",
            backgroundColor: 'rgba(255, 255, 255, 0)'
        },
        {
            data: [3, 12, 17, 20, 30, 40],
            borderColor: "#FF8811",
            pointBackgroundColor: "#FF8811",
            pointBorderColor: "#FF8811",
            backgroundColor: 'rgba(255, 255, 255, 0)'
        }
    ]
    },
    options: {
      responsive: true,
      legend: {
        display: false
      }
    }
  }),

  mounted () {
    this.renderChart(this.chartdata, this.options)
  }
}
</script>
 

Ответ №1:

Да, вы можете просто использовать CSS для установки размеров холста и установить maintainAspectRatio значение false в параметрах, для галочек вы можете использовать обратный вызов галочки:

 const labels = ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"];

const options = {
  type: 'line',
  data: {
    labels,
    datasets: [{
      label: '# of Votes',
      data: [12, 19, 3, 5, 2, 3],
      borderColor: 'red',
      backgroundColor: 'pink'
    }]
  },
  options: {
    maintainAspectRatio: false,
    scales: {
      yAxes: [{
        ticks: {
          callback: (val) => (`${val}K`)
        }
      }]
    }
  }
}

const ctx = document.getElementById('chartJSContainer').getContext('2d');
new Chart(ctx, options); 
 canvas {
  max-height: 180px;
  max-width: 320px;
} 
 <body>
  <canvas id="chartJSContainer" width="600" height="400"></canvas>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.4/Chart.js"></script>
</body> 

Ответ №2:

Хорошо, оказывается, это так же просто, как обернуть диаграмму контейнером и установить высоту этого контейнера по мере необходимости