2011-08-29 3 views
2

히스토그램/barcharts 쌍으로 표시하려는 데이터 집합이 있습니다. 한 세트의 데이터, 나는 위쪽으로 상승하는 "긍정적 인"값 세트로 표시하고 싶습니다. 두 번째 세트는 내림차순으로 "음수"세트로 표시해야합니다. 도메인 축을 공유합니다.JFreeChart 플롯에서 도메인 축의 위치를 ​​조작 할 수 있습니까?

CombinedDomainCategoryPlot을 사용하여 원하는대로 그릴 수 있지만 하나의 중요한 세부 사항은 축을 두 번째 플롯 아래에 표시하는 반면 두 개의 플롯 중간에 표시하고 싶습니다.

기록을 위해 이러한 데이터는 게놈 시퀀스에 매핑 된 시퀀스 태그입니다. 일부는 게놈의 "최상위"가닥에 매핑하고 나머지는 "하향"또는 "역전"가닥에 매핑하므로 시각화의 포인트는 데이터를 그 방식으로 표현하는 것입니다. 나는 단순히 하단 플롯 값 축을 반대로하고 도메인 축을 중간에 표시 할 수 있기를 바랬지 만 그런 식으로 작동하지 않는 것으로 보입니다.

내 가정은 CombinedDomainCategoryPlot 클래스를 서브 클래스하거나 바꿔야하지만, 다른 누군가가 이미이 문제를 해결하거나 코드의 현재 범위 내에서이를 올바르게 수행하는 방법을 알고 있다면 감사하게 생각합니다. 다시 말하지만 JFreeChart 버전 1.0.12 ("현재"버전 1.0.13의 Maven 종속성으로 인해) 작업 중입니다. 안타깝게도 JFreeChart 포럼은 죽은 것처럼 보입니다.

+0

를? 2 개의 서브 도표를 작성해 결합에 추가하고 플롯이 결합 된 후에 축을 설정하십시오. – Jes

+0

@Jes Doh! 그것은 훌륭합니다. 나는 오늘 아침 20 분 동안 코드를 보았고, 서브 플롯이 결합 된 플롯에 추가되었을 때 서브 세트가 자신의 축을 null로 설정하고 한 번 또는 다른 서브 플롯에 다시 추가 할 생각이없는 라인을 읽었습니다. – Bignose

+0

나는 완전한 설명을 게시 할 것이다;) – Jes

답변

2

CombinedDomainCategoryPlot에있는 문제는 추가 된 서브 플로트의 도메인을 재설정합니다. CombinedDomainCategoryPlot.java에서 :

public void add(CategoryPlot subplot, int weight) { 
    // [..] omitted code 
    subplot.setDomainAxis(null); 
    // [..] omitted code 
} 

이 솔루션을 사용하면 부가 적 줄거리 추가 한 후 도메인 축을 설정하는 것입니다 : 당신이 코드에서 시도 무엇

CombinedDomainCategoryPlot mainPlot = // your plot; 
CategoryAxis axis = // the axis you want to use. 
CategoryPlot subPlot // the subplot in question 
mainPlot.add(subPlot); 
subPlot.setDomainAxis(axis); 
관련 문제