Подтвердить что ты не робот

Экранные диаграммы: удаление места между границами сюжета и фактическим графиком

Мы переходим из фреймворческой графической библиотеки (FusionCharts) к основанной на JavaScript (HighCharts).

Вот как выглядят наши текущие флеш-карты Current flash charts

И это то, что я получил до сих пор с HighCharts. enter image description here

Как я могу удалить пространство (помеченное большими немыми красными стрелками) между границей графика и фактическими данными диаграммы?

Здесь мой код: http://jsfiddle.net/ChrisMBarr/7JAcN/1/

var chart = new Highcharts.Chart({
        chart:{
            renderTo: 'container',
            type: 'areaspline',
            plotBorderWidth: 1,
            spacingTop:2,
            spacingRight:5,
            spacingBottom:5,
            spacingLeft:2,
            borderWidth:1,
            borderRadius:0,
            borderColor:'#999'
        },
        credits: {
            enabled: false
        },
        title: {
            text: 'Total spam in the last 7 days'
        },
        legend: {
            verticalAlign: 'bottom',
            borderWidth: 1,
            backgroundColor: '#FFFFFF'
        },
        xAxis: {
            allowDecimals:false,
            categories: [
                'Thu 2/14',
                'Fri 2/15',
                'Sat 2/16',
                'Sun 2/17',
                'Mon 2/18',
                'Tue 2/19',
                'Wed 2/20'
            ],
            labels: {
                staggerLines: 2
            },
            tickmarkPlacement: 'on',
        },
        yAxis: {
            allowDecimals:false,
            alternateGridColor: '#F7F7F7',
            title: {
                text: 'Number of Emails',
                margin:5
            }
        },
        tooltip: {
            formatter: function() {
                var isSpam = this.series.name === _chartOptions.series[1].name
                return ''+this.x +': <strong>'+ this.y +(isSpam ? " Spam" : "") +' Emails</strong>';
            }
        },

        plotOptions: {
            areaspline: {
                fillOpacity: 0.5
            }
        },

        series:  [{
                "name": "Total Mail",
                "color":"#339999",
                "data": [2,3,4,7,8,8,8]
            },{
                "name": "Spam",
                "color":"#003399",
                "data": [2,2,4,4,4,6,8]
        }]
    });
4b9b3361

Ответ 1

Это может помочь:

xAxis: {
    min: 0.5, max: 5.5
...

где max = количество точек данных минус 1,5

Ответ 2

Вы должны использовать параметры minPadding/maxPadding, но он не работает с категориями. Поэтому я предлагаю удалить категоризацию, использовать значение min и tickInterval

http://jsfiddle.net/7JAcN/3/ http://api.highcharts.com/highcharts#xAxis.minPadding

xAxis: {
        allowDecimals:false,
        minPadding:0,
        maxPadding:0,
        /*categories: [
            'Thu 2/14',
            'Fri 2/15',
            'Sat 2/16',
            'Sun 2/17',
            'Mon 2/18',
            'Tue 2/19',
            'Wed 2/20'
        ],*/
        labels: {
            staggerLines: 2
        },
        tickmarkPlacement: 'on',
    },

Ответ 4

Лучший способ удалить paddings - добавить pointPlacement: 'on'

plotOptions: {
    areaspline: {           
        pointPlacement: 'on'
    }       
}