2017-04-21 12 views
2

JFreeChart에서 dygraphs 로의 전환을 평가하고 있지만 x 축에 1-log (x) 값을 갖는 방법을 찾고 있습니다. 주요 틱 (등거리 포함)은 90 %, 99 %, 99.9 %, 99.99 % 등이 될 것입니다. 그것은 가능한 변환 기능을 제공하는 하나도 그래프는 x 축 스케일링을 사용자 정의 할 수 있습니까

a)의 그래프에서의 위치 데이터부터

또는

b) 시각화 변환 (I 정규화 형태로 데이터를 생성 할 수 있지만, 모든 라벨되어야 변환 됨)

을 검색하면 선형/로그 변환을 설정할 위치가 하나도 없다는 것을 알았 기 때문에 a)에 대해 회의적으로 생각합니다.

감사합니다. 참고로 JFreeChart는 자연스럽지 않고이 패키지를 제공하지 않지만 자바를 능숙하게 사용하기 때문에 함께 해킹 할 수있었습니다.

답변

1

x 축에 사용자 정의 ticker을 쓰면 대화 그래프에 원하는대로 표시 할 수 있습니다. 문서 참조 this explanatory comment 구현. 영감을 얻으려면 this answer을 참조하십시오.

g = new Dygraph(div, data, { 
    axes: { 
    x: { 
     ticker(min, max, pixels, opts, dygraph, vals) { 
     return [ 
      { v: 0.9, label:'90%' }, 
      { v: 0.99, label: '99%' }, 
      { v: 0.999, label: '99.9%' } 
     ]; 
     } 
    } 
    } 
}); 

로그 스케일에 그 렌더링에 관해서는, 가장 좋은 건 (valueFormatter 사용) 표시 다시 변환 한 후, dygraphs에 전달하기 전에 당신의 x 값을 변환하는 것입니다.