1

我已经在以下问题上苦苦挣扎了一段时间。希望有人可以帮助我。

我正在尝试做的事情: 使用 jqplot 我正在尝试将水平堆积条形图与折线图结合起来。堆积条形图应包含五个值。折线图应穿过堆积条形图。

到目前为止我的想法是: 我已经成功地构建了水平堆积条形图,并且线条应该穿过它。

问题: 我的堆叠条形图现在显示三个块(值:1、4 和 16)。我应该看到五个块(值:1、2、4、8 和 16)。

我使用的代码:

<script type="text/javascript">

    $(document).ready(function() {
        var x1 = [[1,1]];
        var x2 = [[2,1]];
        var x3 = [[4,1]];
        var x4 = [[8,1]];
        var x5 = [[16,1]];
        var x6 = [[1,0.5],[1,1.5]];

        var plot2 = $.jqplot('thema1chart', [x1, x2, x3, x4, x5, x6], {
            stackSeries: true,
            seriesDefaults: {
                renderer: $.jqplot.BarRenderer,
                rendererOptions: {
                    barDirection: 'horizontal'
                },
                pointLabels: {
                    show: false,
                    stackedValue: true
                }
            },
            series: [{shadow: false, color:'#666666'},
            {shadow: false, color:'#FFFFFF'},{shadow: false, color:'#b4d2dd'},{shadow: false, color:'#FFFFFF'},{shadow: false, color:'#666666'},
                     { 
                     shadow: false,
                         disableStack : true,//otherwise it wil be added to values of previous series
                renderer: $.jqplot.LineRenderer,
                lineWidth: 2,
                label:'Benchmark',
                color:'#666666',
                showLine:false, 
                pointLabels: {
                    show: false
                },
                markerOptions: {
                    size: 7, style:"plus" 
                }}],
            axes: {
                xaxis: {
                    renderer: $.jqplot.CategoryAxisRenderer
                }
                ,
                yaxis: {
                    autoscale: true
                }
            }
        });
    });
    </script>  

非常感谢您提供的任何帮助!

4

1 回答 1

0

您需要将 CategoryAxisRenderer 应用于 yaxis (而不是 xaxis ):

yaxis: {
   renderer: $.jqplot.CategoryAxisRenderer
}

请参阅此处的工作示例

编辑:如果要绑定 xaxis,请将 xaxis:{min:0} 添加到轴选项

于 2013-03-18T10:28:19.420 回答