我有一个使用Chart.js带有标签的数据集。我想用一个换行符将标签分成两行。

我试过<br />\n,但都没有用。

labels: ['(A)<br />Waking', '(B)', '(C)', '(D)'],
labels: ['(A)\nWaking', '(B)', '(C)', '(D)'],


第一个标签应输出为...


  (A)打ak


但最终看起来像...


  (A)<br />正在唤醒
  
  (A)醒来

最佳答案

查看此示例图https://www.chartjs.org/samples/latest/scales/multiline-labels.html,我可以看到多行标签是可能的。

我查看了上面示例的源代码,对于多行标签,它们在数组中具有每条多行,其中数组中的每个元素都在其自己的行中呈现。

例如:

labels: [['(A)', 'Waking'], '(B)', '(C)', '(D)'],

请参阅下面的演示:



var randomScalingFactor = function() {
  return Math.round(Math.random() * 100);
};

window.chartColors = {
	red: 'rgb(255, 99, 132)',
	orange: 'rgb(255, 159, 64)',
	yellow: 'rgb(255, 205, 86)',
	green: 'rgb(75, 192, 192)',
	blue: 'rgb(54, 162, 235)',
	purple: 'rgb(153, 102, 255)',
	grey: 'rgb(201, 203, 207)'
};

var config = {
  type: 'line',
  data: {
    labels: [
      ['(A)', 'Walking'], '(B)', '(C)', '(D)'],
    datasets: [{
      label: 'My First dataset',
      fill: false,
      backgroundColor: window.chartColors.red,
      borderColor: window.chartColors.red,
      data: [
        randomScalingFactor(),
        randomScalingFactor(),
        randomScalingFactor(),
        randomScalingFactor()
      ]
    }, {
      label: 'My Second dataset',
      fill: false,
      backgroundColor: window.chartColors.blue,
      borderColor: window.chartColors.blue,
      data: [
        randomScalingFactor(),
        randomScalingFactor(),
        randomScalingFactor(),
        randomScalingFactor()
      ],
    }]
  },
  options: {
    responsive: true,
    title: {
      display: true,
      text: 'Chart with Multiline Labels'
    },
  }
};

window.onload = function() {
  var ctx = document.getElementById('canvas').getContext('2d');
  window.myLine = new Chart(ctx, config);
};

<script src="https://www.chartjs.org/dist/2.8.0/Chart.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://ajax.cloudflare.com/cdn-cgi/scripts/a2bd7673/cloudflare-static/rocket-loader.min.js" data-cf-settings="100752039a7e60f6a2c8f47d-|49"></script>

<div style="width:90%;">
  <canvas id="canvas"></canvas>
</div>

关于javascript - 如何使用Chart.js在标签中放置新行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56283361/

10-12 17:33
查看更多