Есть ли способ создать base64-изображение диаграммы, не отображая диаграмму с javascript на стороне клиента? - PullRequest
0 голосов
/ 14 июня 2019

У меня есть некоторые данные JSON, которые я получаю из запроса http.Я создаю и загружаю pdf указанных данных на стороне клиента с помощью pdfmake, но мне нужно добавить гистограмму указанного pdf.Pdfmake не имеет возможности создавать диаграммы, но он может добавлять изображения в PDF.Я хочу создать изображение из диаграммы, используя chartjs или другие библиотеки диаграмм (на стороне клиента), не отображая диаграмму на экране, и сохранить его в переменной как изображение base64.Приведенный ниже код является примером типа диаграмм, которые я хочу сохранить как изображение.Он использует chartjs и chartjs-plugin-datalabels.Пожалуйста, любая помощь будет высоко оценена.

var ctx = document.getElementById('graficoBarras').getContext('2d');
var chart = new Chart(ctx, {
  type: 'bar',
  data: {
    labels: [["FORMACION", "ACADEMICA"], ["INVESTIGACION", "FORMATIVA"], ["RESPONSABILIDAD", "SOCIAL"], ["ETICA Y", "VALORES"], ["CUMPLIMIENTO", "DE NORMAS", "INSTITUCIONALES"]],
    datasets: [{

      data: [70.4, 71.6, 71.8, 80.2, 81.9],
      backgroundColor: [
        'rgba(255, 99, 132)',
        'rgba(54, 162, 235)',
        'rgba(255, 206, 86)',
        'rgba(75, 192, 192)',
        'rgba(153, 102, 255)'
      ]

    }]
  },
  options: {
    animation: false,
    tooltips: {
      enabled: false,
    },
    responsive: false,
    legend: {
      display: false
    },
    scales: {
      yAxes: [{
        ticks: {
          beginAtZero: true,
        },
        gridLines: {
          display: false
        },
      }],
      xAxes: [{
        ticks: {
          stepSize: 10
        }
      }],
    },
    plugins: {
      datalabels: {
        align: 'begining',
        anchor: 'begining',        
        backgroundColor: 'white',
        color: 'black',
        formatter: Math.round
      }
    }
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...