Функция увеличения масштаба в гистограмме с использованием графика. js - PullRequest
0 голосов
/ 05 февраля 2020

Я создал гистограмму, используя график. js. (Ссылаясь на Создайте гистограмму в диаграмме. js). Теперь мне нужно увеличить масштаб, потому что по умолчанию, если я включаю масштабирование, надписи на диаграммах и столбцы не синхронизируются c. И мои данные слишком много в графике. так что мне нужно с шириной бара. Это мой объект конфигурации.

const config: any = {
        type: 'bar',
        data: {
          labels: xLabelx,
          datasets: [ { label: 'Count', backgroundColor: 'rgba(215, 239, 252,0.5)', data: NumberOfVehicle,
              borderColor: '#37B1F0', borderWidth: 0.5, hoverBackgroundColor: '#66bcff' } ]
        },
        options: {
          tooltips: {
            mode: 'label',
            bodyFontSize: 12,
            opacity: 0.5,
            borderWidth: 5,
            callbacks: {
              title: (tooltipItems, data) => { return ''; },
              label(tooltipItem, data) {
                const label = data.datasets[tooltipItem.datasetIndex].label;
                const value = data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];
                return label + ': ' + value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, '');
              } } },
          pan: { enabled: true, mode: 'xy', drag: true, speed: 10, threshold: 10 },
          zoom: { enabled: true, drag: false, mode: 'x' },
          maintainAspectRatio: false,
          responsive: false,
          legend: {
            display: true,
            onHover: (event, legendItem) => { document.getElementById('myChart').style.cursor = 'pointer'; },
            labels: { fontSize: 14 }},
          hover: {
            onHover: (e, el) => { $('#myChart').css('cursor', el[0] ? 'pointer' : 'default'); }
          },
          scales: {
            xAxes: [
            { display: false, barPercentage: 1.25, ticks: { max: xLabelx[xLabelx.length - 2] }},
            { display: false, ticks: { autoSkip: false, max: xLabelx[xLabelx.length - 1]}},
            { scaleLabel: { display: true, labelString: 'Range', fontFamily: 'Roboto', fontSize: 14 }}
          ],
            yAxes: [
              { scaleLabel: { display: true, labelString: 'No. of model', fontFamily: 'Roboto', fontSize: 14 },
                ticks: { beginAtZero: true, fontSize: 12, userCallback: (label, index, labels) => {
                    if (Math.floor(label) === label && label >= 0) {  return label; } } } } ]
          }
        }
    };
...