javascript - Chart.js - 添加渐变而不是纯色 - 实现解决方案

标签 javascript chart.js

我正在使用 Chart.js,一切正常,但我想替换当前颜色背景 (fillColor : "rgba(250,174,50,0.5)")带有渐变。
我有替换渐变的解决方案,但是用我糟糕的 JS 知识来实现​​它对我来说太难了。我想对于了解 JS 的人来说很容易。
所以我的 Chart.js 代码:

        <script>

        var data = {
            labels : ["02:00","04:00","06:00","08:00","10:00","12:00","14:00","16:00","18:00","20:00","22:00","00:00"],
            datasets: [
                {
                    fillColor : "rgba(250,174,50,0.5)",
                    strokeColor : "#ff6c23",
                    pointColor : "#fff",
                    pointStrokeColor : "#ff6c23",
                    pointHighlightFill: "#fff",
                    pointHighlightStroke: "#ff6c23",
                    data : [25.0,32.4,22.2,39.4,34.2,22.0,23.2,24.1,20.0,18.4,19.1,17.4]
                }
            ]
        };

        var options = {
            responsive: true,
            datasetStrokeWidth : 3,
            pointDotStrokeWidth : 4,
            tooltipFillColor: "rgba(0,0,0,0.8)",
            tooltipFontStyle: "bold",
            tooltipTemplate: "<%if (label){%><%=label + ' hod' %>: <%}%><%= value + '°C' %>",
            scaleLabel : "<%= Number(value).toFixed(0).replace('.', ',') + '°C'%>"
        };

        var ctx = document.getElementById("temp-chart").getContext("2d");
        var myLineChart = new Chart(ctx).Line(data, options);

    </script>
here is solution with gradient . 有人可以尝试实现这个渐变背景而不是我当前的纯色背景吗?感谢帮助。
我尝试实现它,但其他功能不起作用(如 scaleLabels 等)。

最佳答案

您提供的链接很清楚,您必须输入字段 fillColor在数据集中,一个线性渐变对象而不是纯色。你可以做复杂的渐变,但这里是一个简单的代码(改变同一个橙色的不透明度):

var gradient = ctx.createLinearGradient(0, 0, 0, 400);
gradient.addColorStop(0, 'rgba(250,174,50,1)');   
gradient.addColorStop(1, 'rgba(250,174,50,0)');

以及您的完整数据集:
datasets: [
            {
                fillColor : gradient, // Put the gradient here as a fill color
                strokeColor : "#ff6c23",
                pointColor : "#fff",
                pointStrokeColor : "#ff6c23",
                pointHighlightFill: "#fff",
                pointHighlightStroke: "#ff6c23",
                data : [25.0,32.4,22.2,39.4,34.2,22.0,23.2,24.1,20.0,18.4,19.1,17.4]
            }
        ]

JSFiddle 中查看它的实际应用

关于javascript - Chart.js - 添加渐变而不是纯色 - 实现解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29447579/

相关文章:

javascript - Chart.js - 如何将数组集合插入数据集

javascript - 尝试更改图表 Canvas 的高度和宽度

reactjs - 如何使用 ChartJS 自定义标题位置

javascript - 单击“表单提交”,其中属性等于特定值

javascript - Angular js 1,路由,locationProvider,404错误

javascript - 有条件的 promise 链

javascript - Angular Batarang 适用于不使用 ng-app 的应用

javascript - 使用 Puppeteer 检索 JavaScript 渲染的 HTML

javascript - 在 Chart.js 中单击饼图上的事件

javascript - 图表 js - 当 x 轴类型为 'time' 时,图表不显示