2017-11-12 5 views
0

ajax 호출을 통해 업데이트 된 데이터 테이블의 테이블 행을 사용자가 클릭 할 때 업데이트되는 막 대형 차트가있는 페이지가 있습니다.jqPlot - 막 대형 차트 - 항상 가장 높은 값으로만 ​​색을 지정하십시오.

EG : 플롯 데이터가 고정되어 있지 않습니다.

항상 가장 큰 값/가장 높은 막대를 주황색으로 표시해야합니다. 분명히 가장 높은 막대는 음모에있는 막대 중 하나 일 수 있습니다.

어떻게하면 jqplot을 사용하여 효율적으로 할 수 있습니까?

다양한 시리즈 색상의 막대가있는 예제를 보았지만 오렌지색이어야하는 가장 큰 값을 제외하고는 모든 막대가 파란색으로 만 표시됩니다.

나는 이것을 할 수 없습니다.

답변

0

나는이 문제에 대한 해결책을 생각해 냈다. 매우 우아하지는 않지만 작동합니다!

1

) 색상 모든 바 같은

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

2) 찾기 최대 데이터 값 ...에

막대 색상

는 배열, 그래서 내가 한 방법이 있었다

데이터가 최대 값 인 경우
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 } } 
}; 

를 설정하고 작동한다!

희망이 있으면 다른 사람에게 도움이됩니다.