2012-09-28 3 views
3

다른 작은 누적 막대 문제를 해결했습니다. 플롯을 채울 때 flot은 범례 항목을 위에서 아래로 추가하고 막대를 아래에서 위로 쌓습니다. 이렇게하면 범례는 바에서 정확히 역순으로 정렬됩니다.flot - legend 항목과 누적 된 막대의 순서가 반대입니다.

flot API를 사용하면 추가 된 순서대로 레이블을 사전 순으로 정렬하거나 사용자 지정 정렬 기능을 제공 할 수 있습니다. 나는 항상 -1을 반환하는 정렬 함수를 제공하여 원래 정렬을 되돌릴 수는 있지만 어떤 이유로 쌓인 막대를 사용할 때 sorted 옵션이 전혀 평가되지 않는 것으로 보입니다. 적어도 내가 시도한 것은 아무것도 없었습니다. (ascending, descending, false, 내 자신의 기능) 실제 범례에 영향을 미쳤습니다.

문제를 설명하는 http://jsfiddle.net/YvGZu/1/에 테스트 사례를 정리했습니다.

편집 : 더 많은 테스트가 끝나면 ... 전설 정렬이 모두 부러 질 수 있습니까?

답변

4

나는 2,3 일 내에 우연히 동일한 문제가 발생했습니다. hairpulling을 수행 한 후, commit이 전설 정렬을 처리하는 것이 매우 최근 (2012 년 7 월)이며 사용하고있는 jquery.flot.js의 버전에 포함되지 않았 음을 알게되었습니다.

귀하의 피들에서 flot 리소스를 검사하는 것으로부터 당신에게도 마찬가지입니다. flot js 파일을 one that includes the sorting algorithm으로 업데이트하면 문제가 해결 될 가능성이 있습니다. (다른 실험적 변경 사항을 적용한 이후 수동으로 패치를 적용했습니다.)

다음 번에는 알파벳순으로 정렬 코드가있는 것과 동일한로드 블록이 나올 것입니다. 레이블 텍스트와 색상 코드 만 검사 할 수있는 비교기가 있습니다. 그것은 저에게 충분하지 않았습니다. 저는 임의의 정렬 순서 서버 측을 할당하고 싶었습니다. 다음

label: '<a class="hiddenOrder">2</a>foo' 

그리고 숨겨진 (편집에 FLOT 자리에서 그 a 블록의 스타일 :이를 위해, 내 일련의 라벨에 숨겨진 정렬 순서 문자열을 추가, 툴팁에 적용하는 것이 스타일을 필요로하는 이 아니며 Flot 개체 틀 내에 포함되어 있습니다.

#flotPlaceholder a.hiddenOrder, 
#flotTooltip a.hiddenOrder 
{display:none;} 

I forked your fiddle 당신이 그것을 밖으로 시도 할 수 있지만, GitHub의 내 리소스 링크가 바이올린 내에서 작동하지 않는 것처럼 불행하게도 보이는, 그래서 내 주문 기술을 포함. 그래도 로컬로 롤링 할 수 있어야합니다.

행운을 빈다.

+0

정확하게 맞았습니다! 그러면 github 대신에 로컬에서 문서를 읽도록 가르쳐 줄 것이다. -/hiddenohrder 힌트를 주셔서 감사합니다. 매력처럼 작동합니다! – Meike

+0

나는 'hiddenOrder' 기법에 사소한 문제가 있었는데, 플롯 위로 마우스를 가져 가면 툴팁에 숫자가 나타납니다. 이것은 툴팁'div'가'body' 태그 안에 절대적으로 위치하고 flot'# placeholder'의 자손이 아니기 때문입니다. 나는이 종료되지만,'이 답변 –

+0

감사합니다; {없음 표시} '#placeholder의 a.hiddenOrder, #tooltip의 a.hiddenOrder : 해결 방법은 당신도 역시 툴팁 사업부 내 스타일을 적용 확인했다 jquery.flot.js의 "insertLegend"함수를 수동으로 병합합니다. 전체 파일을 업데이트하면 일부 정렬 및 프리젠 테이션 문제가 발생했습니다. –