0

ファクトが 2 つだけの非常に単純な水平積み上げ棒グラフをレンダリングしたいと考えています。軸なし。

このように:私のターゲット.

しかし、私ができる唯一のことはこれです: My actuell Version .

問題は、2 つの値 ("2" と "7" など) のみを挿入すると、"7" のバーが 1 つしか表示されないことです。これを解決する方法がわかりません。何か案は ?

私のコード:

$(document).ready(function(){

var s1 = [2];
var s2 = [7];
var s3 = [10];

plot3 = $.jqplot('chart1', [s1, s2, s3], {
// Tell the plot to stack the bars.
stackSeries: true,
captureRightClick: true,
seriesDefaults:{
  renderer:$.jqplot.BarRenderer,
  rendererOptions: {
  barDirection: 'horizontal',
      // Put a 30 pixel margin between bars.
      // barMargin: 30,
      // Highlight bars when mouse button pressed.
      // Disables default highlighting on mouse over.
      highlightMouseDown: true   
  },
  pointLabels: {show: true}
},
axes: {
  yaxis: {

     renderer: $.jqplot.CategoryAxisRenderer,

  },
  xaxis: {
    // 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,
    //max: 15,

  }
},
axesDefaults:{          
        showTicks: false,           
        showTickMarks: false,

        },
legend: {
  show: false,
  location: 'e',
  placement: 'outside'
},
grid:{
        drawGridlines: false,
        borderWidth: 0,
        shadow: false,
        background:'#ffffff',
        gridLineColor: '#FFFFFF',
        },
});
// Bind a listener to the "jqplotDataClick" event.  Here, simply change
// the text of the info3 element to show what series and ponit were
// clicked along with the data for that point.
$('#chart3').bind('jqplotDataClick',
function (ev, seriesIndex, pointIndex, data) {
  $('#info3').html('series: '+seriesIndex+', point: '+pointIndex+', data: '+data);
}
);
});
4

1 に答える 1

0

padMin: 0xaxisの設定により、2 番目のシリーズが正しく表示されないようです。それを完全に削除すると、必要に応じて機能します。

グリッド線の目盛りを削除するには、これをaxesDefaults設定に追加してみてください

tickOptions: {
    markSize: 0,
}

したがって、次のようになります。

axesDefaults:{          
        showTicks: false,       
        showTickMarks: false,
        tickOptions: {
            markSize: 0,
        }
},

それだけでうまくいかない場合は、canvasAxisTickRenderer を使用してみてください。詳細については、http ://www.jqplot.com/tests/rotated-tick-labels.php を参照してください。

于 2013-08-30T14:55:54.857 に答える