如何使用Highcharts创建具有对数(log)比例的堆积区域图表?

时间:2012-06-22 16:34:36

标签: highcharts

我有两个系列的数据点。我想使用Highcharts JS(javascript库)生成堆积区域图表。这很简单。

但是,现在我想对Y轴使用对数刻度,因为有几个月了 数据点非常高。

问题是:在生成的图表中,底线下方的区域没有阴影,因为正常的y轴使用时应该是阴影。

这是我的代码:

$(function () {
    var chart = new Highcharts.Chart({

        chart: {
            type: 'area',
            renderTo: 'container'
        },  

        xAxis: {
            categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May',
                         'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
        },  

        yAxis: {
            type: 'logarithmic'
        },  
        plotOptions: {
          area: {
            stacking: 'normal'
          }   
        },  
        series: [{
            data: [10, 29, 45, 1200, 25, 19, 70],
        },{ 
            data: [5, 10, 30, 800, 20, 30, 20],
        }   
                ]   

    }); 
}); 

你可以在这里试试: http://jsfiddle.net/CK8vf/

我认为问题可能是Y的最小值为1,而不是0,这不允许用于对数刻度。

任何想法如何使这项工作?

由于

1 个答案:

答案 0 :(得分:0)

您只需要删除plotOptions设置即可。由于某种原因,堆叠:“正常”似乎将两个数据系列放在不同的比例上。没有它,你将得到两者的填充。

所以:

$(function () {
var chart = new Highcharts.Chart({

    chart: {
        type: 'area',
        renderTo: 'container'
    },  

    xAxis: {
        categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May',
                     'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
    },  

    yAxis: {
        type: 'logarithmic'
    },  
    series: [{
        data: [10, 29, 45, 1200, 25, 19, 70],
    },{ 
        data: [5, 10, 30, 800, 20, 30, 20],
    }   
            ]   

}); 
});