2017-11-12 5 views
0

私は、ajax呼び出しによって更新されたデータテーブルからテーブル行をクリックすると更新される棒グラフを持つページを持っています。jqPlot - 棒グラフ - 常に最高値のみを塗りつぶします

EG:プロットデータは固定されていません。

オレンジ色で、常に最大値/最高バーに色付けする必要があります。明らかに、最も高いバーはプロット内のバーのどれかである可能性があります。

これは、jqplotを使って効率的にどのように行うことができますか?

さまざまな色のバーを使用した例がありますが、1つの色だけが必要です。すべてのバーは青色で、最大の値以外は青色でなければなりません。

これを行う方法はわかりません。

答えて

0

私はこれに対する解決策を思いつき、これを手に入れました。あまりエレガントではありませんが、機能します!

バーの色がすべてのバーと同じ

var colorArray = ['#4bb2c5','#4bb2c5','#4bb2c5','#4bb2c5','#4bb2c5','#4bb2c5','#4bb2c5']; 

2)

最大データ値を検索するだけで、配列なので、どのように私はこれに...

1だった)色ですデータが最大値である場合

var maxValue = Math.max(data01,data02,data03,data04,data05,data06,data07); 

3)色配列値を変更

if (data01 == maxValue) { colorArray[0] = '#fbbc05'; } 
else if (data02 == maxValue) { colorArray[1] = '#fbbc05'; } 
else if (data03 == maxValue) { colorArray[2] = '#fbbc05'; } 
else if (data04 == maxValue) { colorArray[3] = '#fbbc05'; } 
else if (data05 == maxValue) { colorArray[4] = '#fbbc05'; } 
else if (data06 == maxValue) { colorArray[5] = '#fbbc05'; } 
else if (data07 == maxValue) { colorArray[6] = '#fbbc05'; } 

4)

var bar_options = { 
axesDefaults: { labelRenderer: $.jqplot.CanvasAxisLabelRenderer }, 
seriesColors: colorArray, 
seriesDefaults: { renderer: $.jqplot.BarRenderer, rendererOptions: { highlightMouseOver:false, barMargin:5, shadowOffset:1, varyBarColor:true } }, 
axes: { xaxis: { renderer: $.jqplot.CategoryAxisRenderer } } 
}; 

棒グラフプロットを設定し、それが動作します!

これは他の人に役立つことを願っています!

関連する問題