2012-11-02 3 views
0

원형 차트의 범례를 고정 너비로 ​​렌더링하고 레이블이 그 너비 (div 홀더)에 도달하여 다음 줄에 하이픈을 넣으려고합니다. 난 행 옵션을 시도했지만 내 데이터가 동적이기 때문에 나는 아주 잘 작동하지 않습니다 그리고 나는 3 개의 데이터 세트를 말할 때가 있고 각각의 하나는 별도의 행에 렌더링되는 반면 다른 시간에는 15-20 데이터 설정하고 그것은 지저분 해집니다.jqplot 원형 차트 범례 너비

어쨌든 해결책은 범례를 div의 너비로 제한하는 것입니다. 렌더링되는 CSS의 변경 사항을 받아들이지 않는 것 같습니다. 나는 폭을 추가하는 것을 시도했다 : 250px; jqPlot css의 "jqplot-table-legend"에서 Chrome의 Inspect 요소를 사용하여 여러 위치에 추가하여 작동 여부를 테스트했지만 새로운 너비를 허용하지 않는 것 같습니다. 나 또한 행운과 함께 여러 장소에서 자바 스크립트 파일에 하드 코드를 시도했다.

코드 측면에서 질문에 무엇을 추가 할 수 있는지 잘 모르겠습니다. 모든 것은 jqPlot 측면에서 꽤 표준 적입니다.

이 문제를 해결하는 방법에 대한 제안 사항을 보내 주시면 감사하겠습니다.

답변

0

이 방법은 빠르고 더러운 방법처럼 보이지만 작업이 완료됩니다. jqplot.pieRenderer.js 파일을 예제로 사용하겠습니다. 축소 된 버전보다 읽기 쉽기 때문입니다. 당신이 그것을 필요로 어떤 폭 밖으로 테이블을 늘릴 것

this._elem.css({width: 300}); 

이 될 추가 JS 파일을 열고 마우스 오른쪽

this._elem = $(document.createElement('table')); 
this._elem.addClass('jqplot-table-legend'); 

에서 라인 (568)까지 아래로 스크롤합니다. 당신이

td1.css({textAlign: 'center', paddingTop: rs}); 

변화를 찾을 때까지 당신이 지금 조금 더 아래로 스크롤해야합니다 불행하게도, 그것은 또한 색상 견본과 열을 밖으로 뻗어 그

td1.css({width: 16, textAlign: 'center', paddingTop: rs}); 

에 대한 모든 설정이 있어야한다 .

+0

안녕하세요 Mike, 파이 렌더러에 대한 올바른 대답 인 것 같습니다. 그 이후로 Donut으로 변경했습니다. 나는 당신의 대답을 시도하고'this._elem = $ ('table class = "jqplot-table-legend"style = "width : 250px'+ ss + '">'); , 그러나 그것은 충분하지 않은 것 같습니다. 도넛에 대한 팁이 있습니까? 위의 대답을 받아 들일 것입니다. – Ando

+0

범례를 250px로 만들었지 만 문제는 모든 라벨이 새 줄에 있으며 서로 나란히 놓을 수 없다는 것입니다. – Ando

+1

오케이 그래서 내가 생각해 낸 해결책은''를 div 컨테이너에 넣고 왼쪽으로 플로팅하는 것인데, 이는 문제의 해결책으로 충분하다. 팁을 주셔서 감사합니다, 그들은 해결책을 찾는 것이 었습니다. – Ando