0

4 つのシリーズで構成されるチャートがあります。4 つのうち 3 つが積み上げ棒グラフで、4 つ目が折れ線グラフです。グラフがこのように動作するのはなぜですか? $.jqPlotシリーズを関数に渡す順序は問題ではないと思いました。seriesプロパティを使用して、調整したくないものに空のオブジェクトを与えるだけで、シリーズを調整できると思いました。

scoreArray は、バーの上に重ねる折れ線グラフにしたいシリーズです。私の最初の試みはこのコードでした:

$.jqplot("HistoryChart",
    [scoreArray, AvailableArray, UnavailableArray, UnknownArray], {
        stackSeries: true,
        seriesDefaults : {
            renderer: $.jqplot.BarRenderer,
            rendererOptions : {
                barWidth: 40
            }
        },
        series : [{
            disableStack : true,
            renderer: $.jqplot.LineRenderer
        }, {}, {}, {}],
        axesDefaults : {
            tickRenderer: $.jqplot.CanvasAxisTickRenderer,
            tickOptions: {
                angle: -45
            }
        },
        axes: {
            xaxis : {
                renderer: $.jqplot.CategoryAxisRenderer,
                ticks: dateArray
            }
        }
    }
);

生成されたグラフは次のとおりです。

ここに画像の説明を入力

ここで、scoreArray を最後のシリーズにし、それに応じてシリーズ プロパティを調整すると、正しいように見えます。コードとグラフは次のとおりです。

$.jqplot("HistoryChart",
    [AvailableArray, UnavailableArray, UnknownArray, scoreArray], {
        stackSeries: true,
        seriesDefaults : {
            renderer: $.jqplot.BarRenderer,
            rendererOptions : {
                barWidth: 40
            }
        },
        series : [{}, {}, {}, {
            disableStack : true,
            renderer: $.jqplot.LineRenderer
        }],
        axesDefaults : {
            tickRenderer: $.jqplot.CanvasAxisTickRenderer,
            tickOptions: {
                angle: -45
            }
        },
        axes: {
            xaxis : {
                renderer: $.jqplot.CategoryAxisRenderer,
                ticks: dateArray
            }
        }
    }
);

ここに画像の説明を入力

4

2 に答える 2

0

私にはバグのように思えます。y 軸の最小値と最大値を設定していないため、軸の初期設定が歪んでいます。最小値を設定してみてください。それはうまくいくかもしれません

于 2013-05-07T10:44:15.407 に答える