Как уменьшить расстояние между столбцами с фиксированной шириной столбцов в столбчатой ​​диаграмме Highcharts? - PullRequest
0 голосов
/ 24 мая 2019

У меня есть столбчатая диаграмма с фиксированной шириной и фиксированной шириной бара.Когда данных меньше, расстояние между столбцами увеличивается.Я хочу уменьшить пространство, я не против, если бары будут отображаться в начале или в середине графика, но пространство баров должно быть уменьшено.10px пространства будет выглядеть хорошо.Буду признателен за любую оказанную помощь.Вот демо -

Highcharts.chart('container', {
    chart: {
        type: 'column',
        width:1200
    },
    title: {
        text: 'Monthly Average Rainfall'
    },
    subtitle: {
        text: 'Source: WorldClimate.com'
    },
    xAxis: {
        categories: [
            'Jan',
            'Feb'
        ],
        crosshair: true
    },
    yAxis: {
        min: 0,
        title: {
            text: 'Rainfall (mm)'
        }
    },
    tooltip: {
        headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
        pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
            '<td style="padding:0"><b>{point.y:.1f} mm</b></td></tr>',
        footerFormat: '</table>',
        shared: true,
        useHTML: true
    },
    plotOptions: {
        column: {
            pointWidth:30
        }
    },
    series: [{
        name: 'Tokyo',
        data: [49.9, 71.5]

    }]
});
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>
<script src="https://code.highcharts.com/modules/export-data.js"></script>

<div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div>

1 Ответ

0 голосов
/ 24 мая 2019

Единственное, о чем я могу думать, это добавить несколько поддельных столбцов, чтобы съесть дополнительное пространство. Highcharts, похоже, не работает так. В соответствии с документами используется либо pointWidth, либо pointPadding, в зависимости от того, что вы поставляете, но не оба.

Highcharts.chart('container', {
    chart: {
        type: 'column',
        width:1200
    },
    title: {
        text: 'Monthly Average Rainfall'
    },
    subtitle: {
        text: 'Source: WorldClimate.com'
    },
    xAxis: {
        categories: [
            'Jan',
            'Feb',
            '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''
        ],
        crosshair: true
    },
    yAxis: {
        min: 0,
        title: {
            text: 'Rainfall (mm)'
        }
    },
    tooltip: {
        headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
        pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
            '<td style="padding:0"><b>{point.y:.1f} mm</b></td></tr>',
        footerFormat: '</table>',
        shared: true,
        useHTML: true
    },
    plotOptions: {
        column: {
            pointWidth: 30,
        },
    },
    series: [{
        name: 'Tokyo',
        data: [49.9, 71.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    }]
});
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>
<script src="https://code.highcharts.com/modules/export-data.js"></script>

<div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div>
...