ChartJS xAxis положение метки - PullRequest
       40

ChartJS xAxis положение метки

1 голос
/ 02 октября 2019

У меня есть ChartJS, который отображает метку как наклонную при изменении размера окна до меньшего размера.

enter image description here

Что я хочу сделать, этоопустите X-метки немного вертикально вниз, чтобы они были не настолько близко к основанию графика, если это возможно.

После поиска в Google, похоже, я могу отключить отображение тиков для оси X и использоватьОпция анимации, чтобы сделать это вручную. Я попытался реализовать это в следующем fiddle .

    animation: {
      duration: 1,
      onComplete: function() {
        var chartInstance = this.chart;
        this.data.datasets.forEach(function(dataset, i) {
          var meta = chartInstance.controller.getDatasetMeta(i);
          meta.data.forEach(function(bar, index) {

            var label = bar._model.label;
            var xOffset = bar._model.x;
            var yOffset = bar._model.y;
            ctx.fillText(label, xOffset, 420);
          });
        });
      }
    },

Однако я не могу правильно масштабировать метку при изменении размера окна. Вы можете помочь?

1 Ответ

1 голос
/ 03 октября 2019

Chart.js реализует свойство padding в объекте ticks для этого:

Заполнение между меткой тика и осью. При установке на вертикальной оси это применяется в горизонтальном (X) направлении. При установке на горизонтальной оси это применяется в вертикальном (Y) направлении.

Вот рабочий пример с метками оси x, смещенными на 20 пикселей вниз от линии:

new Chart(document.getElementById("chart"), {
  type: "bar",
  data: {
    labels: ["Blue", "Red", "Green", "Orange", "Purple"],
    datasets: [{
      data: [0, 1, 2, 3, 4]
    }]
  },
  options: {
    maintainAspectRatio: false,
    scales: {
      xAxes: [{
        ticks: {
          padding: 20
        }
      }]
    }
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.8.0/Chart.min.js"></script>
<div style="height:200px;width:200px">
  <canvas id="chart"></canvas>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...