在chart.js

时间:2018-02-15 01:18:04

标签: chart.js

有没有办法将chart.js中的默认线条样式设置为fill: false

即。在下面的代码中,我不应该明确地写出所有fill: false

  type: 'line',

  data: {
    labels: data.months,
    datasets: [{
        fill: false,
        label: 'Gross',
        data: data.gross,
        backgroundColor: '#2f7ed8',
        borderColor: '#2f7ed8',
      }, {
        fill: false,
        label: 'Net',
        data: data.net,
        backgroundColor: '#8bbc21',
        borderColor: '#8bbc21',
      },
    ],
  },

文档说您可以通过Chart.defaults.global设置默认选项,但我不清楚是否以及如何更改线条样式等内容。

1 个答案:

答案 0 :(得分:2)

正如您在文档中已经看到的那样,您可以使用Chart.defaults.global设置这些设置。稍后将与数据集的属性合并。

Chart.defaults.global.elements.line.fill = false;

fill下找到Chart.defaults.global.elements之类的设置。将整个Chart.defaults.global对象记录到控制台,有助于找到要设置的正确属性。



Chart.defaults.global.elements.line.fill = false;

var options = {
  type: 'line',
  data: {
    labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
    datasets: [{
        label: 'Dataset 1',
        data: [12, 19, 3, 5, 2, 3],
        borderWidth: 1
      },
      {
        label: 'Dataset 2',
        data: [6, 8, 4, 2, 4, 8],
        borderWidth: 1,
      },
      {
        label: 'Dataset 3 (filled)',
        data: [7, 11, 5, 8, 3, 7],
        borderWidth: 1,
        fill: true
      }
    ]
  },
  options: {
    scales: {
      yAxes: [{
        ticks: {
          reverse: false
        }
      }]
    }
  }
}

var ctx = document.getElementById('myChart').getContext('2d');
new Chart(ctx, options);

<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.1/Chart.min.js"></script>

<canvas id="myChart" width="600" height="400"></canvas>
&#13;
&#13;
&#13;