1

積み上げ棒グラフをプロットしようとしていて、データを動的にグラフに渡しています

入力を渡すと

[1, 0] [0, 1] [0, 0] [0, 1] ["2015-02-16", "2015-02-15"]

変数 s1、s2、s3、s4、dateArr (以下のコード スニペット)

適切な積み上げ棒グラフがプロットされます

ここに画像の説明を入力

しかし、積み上げ棒グラフに渡されるデータが次のような場合

[2] [1] [0] [0]  ["2015-02-16"]

2 番目の配列のみがプロットされ、最初の配列は無視されます

ここに画像の説明を入力

ただし、y 軸が 2 から始まることに注意してください。つまり、最初の配列を認識しますが、同じものがプロットされていません。

ここに私がチャートをプロットするために使用しているコードがあります

//plot stacked bar chart function
        function plotStack(s1,s2,s3,s4,dateArr) {
            if(dateArr.length==0){
                s1=[0,0,0,0];
                s2=[0,0,0,0];
                s3=[0,0,0,0];
                s4=[0,0,0,0];
                dateArr.push("");
                dateArr.push("");
                dateArr.push("");
                dateArr.push("");
            }
            $('#graph_stacked').html(''); // redraw the stack

            var plotStack = $.jqplot('graph_stacked', [s1, s2, s3, s4], {
            // Tell the plot to stack the bars.
            stackSeries: true,
            captureRightClick: true,
            seriesDefaults: {
                renderer: $.jqplot.BarRenderer,
                rendererOptions: {                        
                        barWidth: 40,shadow:true,   // Set a 30 pixel width for the bars.
                        shadowAngle: 90,
                        highlightMouseDown: true    // Highlight bars when mouse button pressed. Disables default highlighting on mouse over.
                },
                pointLabels: {
                    show: false
                }
            },
            grid: { background: 'transparent' },
            seriesColors:   ["#47759e", "#444444", "#777777", "#9b9b9b"],
            series:         [   {label: 'New'}, {label: 'In Progress'}, {label: 'Requesting Assistance'}, {label: 'Completed'}  ],
            axes: {
                xaxis: {
                        renderer: $.jqplot.CategoryAxisRenderer,
                        ticks: dateArr
                },
                yaxis: {
                    // Don't pad out the bottom of the data range.  By default,
                    // axes scaled as if data extended 10% above and below the
                    // actual range to prevent data points right on grid boundaries.
                    // Don't want to do that here.
                    padMin: 0
                }
            },

            legend: {
                renderer: $.jqplot.EnhancedLegendRenderer,
                show: true,
                placement: 'outside',
                rendererOptions: {
                    numberRows: 2,
                    numberColumns: 2
                },
                location: 's',
                    marginTop: '45px',
                    border: 'none'
                },
                highlighter: {
                    show:true,
                    tooltipLocation: 'n',
                    showMarker : false,
                    tooltipAxisX: 20, // exclusive to this version
                    tooltipAxisY: 20, // exclusive to this version
                    useAxesFormatters: false,
                    formatString:'%s, %P',
                }
            });

            newTask.length=0;
            inProgressTask.length=0;
            reqAssistTask.length=0;
            completedTask.length=0;
            date.length=0;
            stackArrAllNew.length=0;
            stackArrAllInProgress.length=0;
            stackArrAllReqAss.length=0;
            stackArrAllCompTask.length=0;
            stackDateAll.length=0;
        }

それで、私は何を間違っていますか?

前もって感謝します

4

1 に答える 1

0

わかりました解決策は、私が変更しなければならなかったことでした

axes: {
                xaxis: {
                        renderer: $.jqplot.CategoryAxisRenderer,
                        ticks: dateArr
                },
                yaxis: {
                    // Don't pad out the bottom of the data range.  By default,
                    // axes scaled as if data extended 10% above and below the
                    // actual range to prevent data points right on grid boundaries.
                    // Don't want to do that here.
                    padMin: 0
                }
            },

axes: {
                xaxis: {
                        renderer: $.jqplot.CategoryAxisRenderer,
                        ticks: dateArr
                }
}
于 2015-02-17T08:41:40.090 に答える