You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Chart JS 3.3.2版本中创建带渐变填充的折线图

Chart.js 3.3.2 渐变填充折线图实现方案

你原有代码的问题是 Chart.js 3.x 版本中,折线图数据集默认关闭填充功能,只需要补充对应配置即可生效。

完整可运行代码

HTML 部分

<script src="https://cdn.jsdelivr.net/npm/chart.js@3.3.2/dist/chart.min.js"></script>
<canvas id="chart" width="800" height="400"></canvas>

JS 部分

var ctx = document.getElementById('chart').getContext('2d');
// 渐变高度动态获取画布高度,适配性更强,不需要硬编码固定数值
var chartHeight = ctx.canvas.height;
var gradient = ctx.createLinearGradient(0, 0, 0, chartHeight);
gradient.addColorStop(0, 'rgba(224, 195, 155, 1)');   
gradient.addColorStop(1, 'rgba(100, 100, 0,0)');

var myChart = new Chart(ctx, {
    type: 'line',
    data: {
        labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'],
        datasets: [{
            backgroundColor: gradient,
            label: 'Numbers',
            data: [12, 19, 3, 5, 2, 3],
            // 新增这行,开启折线下方区域填充
            fill: true
        }]
    },
    options: {
        scales: {
            y: {
                beginAtZero: true
            }
        },
        tension: 0.3
    }
});

核心修改点说明

  • 给对应数据集添加fill: true属性,Chart.js 3.x 中线图填充默认关闭,这是和旧版本最核心的差异
  • 渐变创建的高度改为动态读取画布高度,避免画布尺寸调整后渐变效果错位

内容的提问来源于stack exchange,提问作者itsisaac19

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 17:36:10