2009-07-29 3 views
0

특히 웹용 png 파일로 출력되는 JFreeChart에 특정 위치에 텍스트 주석을 추가하려고합니다. Annotation을 파이 차트에 추가 할 수 있습니까? 성공적으로 주석을 XYPlots에 추가 할 수 있었지만 PiePlot에 오버레이를 추가하거나 추가하는 방법을 모릅니다.JFreeChart 파이 차트의 주석

내 전체 작업은 PiePlot을 사용하여 일종의 시계를 만드는 것입니다. 지금까지 모든 것이 훌륭하게 작동했지만 지금은 12시, 3시, 6시 및 9시 위치에 라벨을 추가하고 완전히 엉망이되었습니다. 상당히 격렬한 검색 후

아담

답변

0

나는이 현재 가능하다 (JFreeChart의 1.0.13)을 믿지 않는다. 가능한 옵션은 다음과 같습니다.

XYPlot이있는 두 번째 차트를 만들어 필요한 주석이있는 두 번째 이미지를 생성하십시오. 이 이미지를 페이지에 오버레이합니다. 이 옵션은 업로드 할 차트 이미지의 수가 두 배이기 때문에 좋지 않습니다.

이미지를 페이지의 배경으로 설정하고 HTML을 이미지 위에 놓습니다. 그것은 유지 보수가 불가능하고 데이터 전송의 골칫거리가되기 때문에 좋지 않습니다.

개인적으로 나는 제목의 정보를 전달하는 또 다른 방법을 찾으려고 할 것이지만 다음 사람에게 내 발견을 게시하고 싶습니다. Adam

2

낡은 질문이지만, 여기 극좌표를 사용하여 비슷한 점 (1, 2, 3, ...시 위치의 주석)을 작성했습니다.

final JFreeChart chart = ChartFactory.createPolarChart(
      "HAPI Hourly Usage (UTC)", ds, true, true, false); 
    final PolarPlot plot = (PolarPlot) chart.getPlot(); 

    // Create a ChoiceFormat to map the degrees to clock positions 
    double[] limits = new double[12]; 
    String[] formats = new String[12]; 
    limits[0] = 0; 
    formats[0] = "12"; 

    // degrees = 360/12 
    for (int i = 1; i < limits.length; i++) { 
     limits[i] = degrees * (i); 
     formats[i] = Integer.toString(i); 
    } 
    ChoiceFormat clock = new ChoiceFormat(limits, formats); 

    TickUnit tickUnit = new NumberTickUnit(degrees, clock); 

    // now configure the plot 
    plot.setAngleTickUnit(tickUnit); // sets the ticks 
    plot.setAngleLabelsVisible(true); // makes the labels visible 
    plot.setAngleLabelPaint(Color.LIGHT_GRAY); // user choice 
    plot.setAngleGridlinesVisible(true); // must set this to display the 
             // labels 
    plot.setAngleGridlinePaint(Color.BLACK); // plot's background color 
              // (makes lines invisible) 
    plot.setRadiusGridlinesVisible(false); //turn off the radius value circles 
    ValueAxis axis = plot.getAxis(); 
    axis.setTickLabelsVisible(false); //turn off the radius value labels 

바람이 최대 http://img522.imageshack.us/img522/6693/hapihours.jpg

+0

흥미로운 기술처럼 보이는 : 그것은 ChoiceFormatter과 NumberTickUnit를 사용합니다! 근본적으로 극좌표를 사용하여 파이 차트 풍의 qraph를 만듭니다. 이것은 당신에게 진드기 단위와 레이블의 사용을 구입합니까? 아주 멋지다. – Adam

+0

아직 답변을 검색하지 않은 사용자의 경우, 이전 질문이었던 것은 중요하지 않습니다. 도와 주셔서 감사합니다! – Adam

관련 문제