Chart.js 折线图看起来像带有平滑线条但不尖锐的区域图

时间:2020-12-28 09:35:15

标签: chart.js linechart

chartjs 折线图显示为面积图且线条流畅。我想让图表成为带有尖点的简单折线图。我尝试了一些选择,但都是徒劳的。

var AreaChart = new Chart(AreaCharts, {
  type: 'line',
  data: {
    labels: [],
    datasets: [{
        label: 'Required',
        data: [],
        backgroundColor: '#f39233',
        hoverBorderWidth: 2,
        hoverBorderColor: '#054564',
      },
      {
        label: '2nd',
        data: [],
        backgroundColor: '#b8de6f',
        hoverBorderWidth: 2,

        hoverBorderColor: '#054564',
      }
    ]
  },
  options: {
    bezierCurve: false,
    scaleShowValues: true,
    scales: {
      yAxes: [{
        ticks: {
          beginAtZero: true
        }
      }],
      xAxes: [{
        ticks: {
          autoSkip: true,
          padding: 10,
          fontSize: 10
        }
      }]
    },
    responsive: true,
    maintainAspectRatio: false,
    title: {
      display: true,
      text: ''
    },
  },
});

这是代码。我正在填写来自其他功能的数据和标签。 线条应该很锋利,应该只有线条而不是任何区域。我确实阅读了文档,但它让我感到困惑。

2 个答案:

答案 0 :(得分:1)

我在这里发布了一个解决方案:http://jsfiddle.net/srux4971/

最重要的部分是

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

<table class="table table-bordered" id="RemittanceResult">
  <thead>
    <tr>
      <th class="remInfo" width="50%">Info</th>
      <th class="remData" width="50%">Data</th>
    </tr>
  </thead>
</table>

答案 1 :(得分:0)

为了将面积图转换为折线图,请在每个数据集中添加选项 fill: false

我还定义了选项 borderColor,线条将显示为所需的颜色。

请查看您修改后的代码,看看它是如何工作的。

new Chart('myChart', {
  type: 'line',
  data: {
    labels: ['A', 'B', 'C', 'D', 'E', 'F', 'G'],
    datasets: [{
        label: 'Required',
        data: [3, 2, 4, 5, 6, 4, 3],
        backgroundColor: '#f39233',
        borderColor: '#f39233',
        hoverBorderWidth: 2,
        hoverBorderColor: '#054564',
        fill: false
      },
      {
        label: '2nd',
        data: [4, 1, 3, 5, 3, 4, 2],
        backgroundColor: '#b8de6f',
        borderColor: '#b8de6f',
        hoverBorderWidth: 2,
        hoverBorderColor: '#054564',
        fill: false
      }
    ]
  },
  options: {
    bezierCurve: false,
    scaleShowValues: true,
    scales: {
      yAxes: [{
        ticks: {
          beginAtZero: true
        }
      }],
      xAxes: [{
        ticks: {
          autoSkip: true,
          padding: 10,
          fontSize: 10
        }
      }]
    },
    responsive: true,
    maintainAspectRatio: false,
    title: {
      display: true,
      text: ''
    }
  },
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.4/Chart.min.js"></script>
<canvas id="myChart" height="200"></canvas>