I want to add gradient to my chart background. Here below an example:
I'm using Next.js and react-chart.js.
Here below an example of my code:
import { ChartProps } from "./Chart.props";
import styles from "./Chart.module.css";
import React, { useState, useEffect, useRef } from 'react';
import { Chart as ChartJS, ArcElement, CategoryScale, LinearScale, PointElement, LineElement, Title, Tooltip, Legend, ScriptableContext, } from "chart.js";
import { Chart, Line } from "react-chartjs-2";
ChartJS.register(ArcElement, Tooltip, Legend, CategoryScale, LinearScale, PointElement, LineElement);
import { optionsChart } from "./ChartConfig.js";
export const CoinPriceChart = (props) => {
const data = {
labels: ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14"],
datasets: [
{
data: [22, 45, 23, 41, 18, 11, 32, 31, 63, 54, 45, 49, 54, 36],
pointRadius: 0,
pointHoverRadius: 2,
borderColor: "rgba(91,56,237,255)",
}
],
options: {
...optionsChart
},
};
return (
<div
className={styles.CardList}
{...props}
>
<Line id="myChart" data={data} options={optionsChart}/>
</div>
);
};
Once I'd tried something like this:
But in React (not in Node.js). In Node.js it doesn't work for me.
And here below how my chart looks like (now):
Waiting for your propositions. Thanks in advance!
This is because in chart.js V3 the line chart does not fill by default. You will need to import the filler plugin and tell the dataset to fill like so:
import {Chart, Filler} from 'chart.js'
import {Chart as ReactChart, Line} from 'react-chartjs-2'
Chart.register(Filler);
const data = {
labels: labels,
datasets: [{
data: data,
fill: true // Set fill to true to enable the backgroundColor under the line
}]
}