Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

234
Visualizações
chart.js gradient background problems with browser zoom

I have a gradient in my chart.js as background. This works well if my screen zoom is set to 100%

If I change my zoom ([Strg] + [+] or [-]), the gradient doesn't take this in account. What can I do?

HTML:

<div>
  <canvas id="myChart"></canvas>
</div>

JavaScript:

const labels = [
  'January',
  'February',
  'March',
  'April',
  'May',
  'June',
];

const data = {
  labels: labels,
  datasets: [{
    label: 'My First dataset',
    backgroundColor: 'rgb(255, 99, 132)',
    borderColor: 'rgb(255, 99, 132)',
    data: [0, 10, 5, 2, 20, 30, 45],
  }]
};

const plugin_gradient = {
  beforeDraw: function(chart, args, options) {
    const ctx = chart.ctx;
    const canvas = chart.canvas;
    const chartArea = chart.chartArea;
    var gradientBack = canvas.getContext("2d").createLinearGradient(0, canvas.height, canvas.width, 0);
    gradientBack.addColorStop(1, "rgba(255, 120, 120, 1)");
    gradientBack.addColorStop(.5, "rgba(255, 255, 120, 1)");
    gradientBack.addColorStop(0, "rgba(120, 255, 120, 1)");
    ctx.fillStyle = gradientBack;
    ctx.fillRect(chartArea.left, chartArea.bottom, chartArea.right - chartArea.left, chartArea.top - chartArea.bottom);
  }
};

const config = {
  type: 'line',
  data: data,
  plugins: [plugin_gradient],
  options: {}
};

const myChart = new Chart(
  document.getElementById('myChart'),
  config
);

Here is a JSFiddle

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

maybe try to play with the canvas.width and height parameter, eg:

window.innerWidth || document.body.clientWidth

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda