1

ここに画像の説明を入力

jqplot を使用していますが、積み上げ棒グラフがシリーズごとに異なる Y スケールを使用しているのはなぜですか?

var ticks = ["test1", "test2", "test3", "test4", "test5", "test6", "test7", "test8", "test9"];
var s1 = ["3", "3", "1", "3", "2", "3", "30", "3", "3"];
var s2 = ["0", "0", "2", "0", "0", "0", "0", "0", "0"];

      plot3 = $.jqplot('daily-bookings-by-user', [s1, s2], {
        // Tell the plot to stack the bars.
        stackSeries: true,
        seriesDefaults:{
          renderer:$.jqplot.BarRenderer,
          rendererOptions: {
              // Put a 30 pixel margin between bars.
              barMargin: 20,
              // Highlight bars when mouse button pressed.
              // Disables default highlighting on mouse over.
              highlightMouseDown: true
          },
          pointLabels: {show: true}
        },
        axes: {
          xaxis: {
              renderer: $.jqplot.CategoryAxisRenderer,
              ticks: ticks
          },
          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,
            pad: 0,
            min: 0,
          },
        },
        legend: {
          show: true,
          location: 'e',
          placement: 'outside'
        },
        series:[
            {
               label:'Test 1'
            },
            {
               label:'Test 2'
            }
        ],
      });
4

1 に答える 1

0

としてデータを渡しているため、発生していますstring。そのため、バーを積み上げると、ロジックによって両方の値が加算され、積み上げられたバーが表示されます。しかし、あなたの場合、「1」と「2」は、文字列として渡して「21」を形成し、整数に変換してプロットするため、連結されます。これが、21 がプロットされているのを見る理由です。

JsFiddle リンク

var s1 = [3, 3, 1, 3, 2, 3, 30, 3, 3];
var s2 = [0, 0, 2, 0, 0, 0, 0, 0, 0];

これで問題が解決します。

于 2013-10-22T02:53:28.873 に答える