3

我正在尝试使用 Highcharts 库构建面积图。突然间,我发现在我的实际数据开始之前,x 轴上有一些间距。我想用适当的数据从 [0,0] 轴开始图表。

图表

<?php 
    $data1 = array(3300, 3000, 4300, 4200, 2900, 1900, 1800); 
?>
<script type="text/javascript">$(function () {
var chart = new Highcharts.Chart({
    chart: {
        renderTo: 'areachart',
        type: 'area'
    },
    title: {
            text: 'People'
    },
    credits: {
        enabled: false
    },
    xAxis: {
        startOnTick: false,
        categories: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']
    },
    yAxis: {
        title: {
            text: null
        },
        labels: {
                formatter: function() {
                    return this.value;
                }
        }
    },
    plotOptions: {
        area:{
            dataLabels: {
                enabled: true
            }
        }
    },
    series: [{
        data: [<?php foreach($data1 as $da):
                        echo $da.', ';
                     endforeach;
               ?>
              ]
    }]
});
});
</script>
4

2 回答 2

2

好消息,这是可能的……有一些警告。

xAxis: {
        categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
        min:0.5,
        max:10.5,
        tickInterval:1,
        maxPadding:0,
        endOnTick:false,
        startOnTick:false
    }

http://jsfiddle.net/eg9jn/

以下是重要的位: 最小值和最大值设置为图表“内部”的 0.5。start/endOnTick 设置为 false。

一个警告:当只有两个类别时,这不起作用......

于 2013-08-06T18:34:49.047 回答
1

这是不可能的,因为您正在为xAxis. 类别的标签和点始终设置在类别的中间。因此,第一个和最后一个类别具有您想要摆脱的差距。
但在这种情况下,这不是一个错误,而是一个特性。

您可以尝试修改您xAxis的使用法线轴并使用自定义标签格式化程序来显示日期而不是数字。

于 2012-06-03T19:33:04.857 回答