2017-09-24 47 views
0

棒グラフの自動スケーリングが線グラフと非常に異なるのはなぜですか?まったく同じデータを使用してjqplot棒グラフのy軸目盛り

、私は、これら二つのプロットを得る:

enter image description here

enter image description here

私は2つのプロットに使用するオプションは次のとおりです。

var bar_options = { 
axesDefaults: { labelRenderer: $.jqplot.CanvasAxisLabelRenderer }, 
seriesDefaults: { renderer: $.jqplot.BarRenderer, rendererOptions: { highlightMouseOver:false, barMargin:5, shadowOffset:1 } }, 
axes: { xaxis: { renderer: $.jqplot.CategoryAxisRenderer }, yaxis: { tickOptions:{show:false} } }, 
}; 

var line_options = { 
axesDefaults: { labelRenderer: $.jqplot.CanvasAxisLabelRenderer }, 
seriesDefaults: { rendererOptions: { smooth: true } }, 
axes: { xaxis: { min:1, max:30, tickInterval:1, pad:0 }, yaxis: { tickOptions:{show:false} } }, 
}; 

ラインプロットは本当にうまく見えますが、棒グラフはスケーリングが表示されていても無用です。

2つのプロットでデフォルトのスケーリングが異なるのはなぜですか?また、棒グラフのスケーリングを線グラフと同じにするにはどうすればよいですか?

EDIT:

[38.23, 39.33, 41.67, 40.21, 45.01, 44.47, 37.04] 

図示し、得られたグラフは、このている:次のように私はデータを、簡単な例を作成した

enter image description here

Y-追加データが0から始まっていることを示しています。

は私が...これに

var home_bar_options = { 
axesDefaults: { labelRenderer: $.jqplot.CanvasAxisLabelRenderer }, 
seriesDefaults: { renderer: $.jqplot.BarRenderer, rendererOptions: { highlightMouseOver:false, barMargin:5, shadowOffset:1 } }, 
axes: { xaxis: { renderer: $.jqplot.CategoryAxisRenderer }, yaxis: { min:30, max:50 } } 
}; 

を私のプロットのコードを変更しかし、プロットは変化せず、完全に私は、y軸のスケールのために入力した「分」と「最大」の値を無視します。

これはなぜですか?

答えて

0

棒グラフで軸を移動するための「適切な」方法が見つかりませんでしたが、回避策を見つけることができました。

マイページはPHPで、データはmysqlデータベースからのものです。

データを取得した後、棒グラフプロットを描画する前に、最小データ値が得られ、すべてのデータからその値が減算されます。だから、

私のデータは、私は棒グラフはその後、より良い探し方法でこれをプロットします

0, 3, 1, 7, 5 

の新しいデータセットを与え、全てのデータから35を引く

35, 38, 36, 42, 40 

であれば!

私は実際のデータ番号を見る必要はないので、これは私にとってはうまくいきますが、スケールがあるy軸が必要な場合はうまくいかないでしょう。

棒グラフのy軸をゼロから適切に調整する方法があれば、それを聞いてとてもうれしいです!

しかし、今のところ私の回避策で十分です。

関連する問題