【问题标题】:How to create a stacked area chart with logarithmic (log) scale using Highcharts?如何使用 Highcharts 创建具有对数 (log) 刻度的堆积面积图?
【发布时间】:2012-06-22 16:34:36
【问题描述】:

我有两个系列的数据点。我想使用 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,这对于对数刻度是不允许的。

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

谢谢

【问题讨论】:

    标签: highcharts


    【解决方案1】:

    您只需要删除您的 plotOptions 设置。由于某种原因, stacking: 'normal' 似乎将两个数据系列放在不同的尺度上。没有它,您将得到两者的填充。

    所以:

    $(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],
        }   
                ]   
    
    }); 
    }); 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-28
      • 2022-01-02
      • 1970-01-01
      • 2017-04-25
      • 2018-06-17
      相关资源
      最近更新 更多