2014-11-06 2 views
0

저는 AChartEngine을 사용하여 매우 만족스러운 파이 차트를 가지고 있습니다. 나는 같은 형식 (약간 라인의 해당 파이 웨지에 연결된 텍스트) 전설없이 레이블과 스타일을 선택했습니다 "예 데이터 포인트 - 25 %"어떻게 AChartEngine의 PieChart에 여러 줄의 레이블을 가질 수 있습니까?

내가 통해이 라벨 문자열을 얻을 :

mSeries.add(name + " - " + Double.toString(value), value); 

하지만 이름이 너무 길어서 값이 표시되지 않는 경우가 종종 있습니다. 나는 얻다 "...". 값이 중요하므로, 항상 표시되므로 새 줄에 넣으 려합니다.

짧은 이름 NA가의

너무 긴
10 % ...
25 % 미세 또한

:

나는 같은 모양 레이블을 떠올하고 있습니다 :

Too Long of A 이름
25 %

또는 :
이름의

너무 긴 - 내가 더 나은 것 신규 라인에 긴 이름을 포장 할 수 있다면 25 %

! 그러나 저는 주로 값을 항상으로 표시하는 것에 관심이 있습니다.

\ n 또는 System.getProperty ("line.separator")로 새 줄을 추가하려고했지만 PieChart가 Label을 한 줄로 렌더링합니다. \ n은 텍스트로 표시되지 않으며, 심지어 거기에없는 것처럼 보입니다. 다른 질문에 따르면,이 차트는 다른 차트 유형에서도 작동하지만 필자가 파이에 대해 작동한다고 주장하는 사람은 아무도 없습니다. 이는 내 노력을 기반으로하지 않는 것 같습니다.

나는 AChartEngine에 내장 된 다른 렌더링 옵션과도 연동했습니다. 'setDisplayValues ​​(true)'와 같이 값을 파이 웨지 위에 놓습니다. 나는 내 파이에 작은 쐐기 모양이있는 것처럼 그 모습이 마음에 들지 않으므로 서로의 위에 값이 렌더링됩니다.

AChartEngine PieChart 멀티 라인 (또는 값을 표시하는 다른 방법)에서 라벨을 만들 수있는 방법에 대한 통찰력은 매우 높이 평가 될 것입니다. 도와 줄 수있는 사람에게 정말 감사드립니다!

답변

1

나는 정말로 원했던 것이 아니지만 몇 달이 지나면 대안을 생각해 냈습니다. 후손을 위해, 나는 여기에 내 질문에 대한 대답으로 남겨 둘 것이지만 언젠가는 거기에있는 누군가가 언젠가는 진정한 해결책을 공유 할 경우에 받아 들일 수 없다.

원형 차트의 레이블에 항상 백분율 값을 표시하는 방법을 찾지 못했기 때문에 쐐기가 클릭되면 토스트 정보가 나타납니다.이것은 조각에 있기 때문에,

private void addPieClickListeners(final GraphicalView mChartView){ 
    mChartView.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      SeriesSelection seriesSelection = mChartView.getCurrentSeriesAndPoint(); 

      if (seriesSelection == null) { 
       // Do Nothing, Possible Toast: 
       // Toast.makeText(context,"No chart element was clicked",Toast.LENGTH_SHORT).show(); 
      } 
      else { 
       Toast.makeText(context, 
         Integer.toString((int)Math.round(seriesSelection.getValue())) + 
         "% " + 
         mSeries.getCategory(seriesSelection.getPointIndex()), 
         Toast.LENGTH_SHORT).show(); 
      } 
     } 
    }); 

내 파이 차트를 설정하는 내 다른 기능과 함께,이 메소드를 호출, onCreateView()에서 다음은 간단한 충분한 코드입니다.

건배.

+0

매우 멋진 해결 방법 ... 공유해 주셔서 감사합니다. @BugsHappen 감사합니다. –

+0

머리 위로 올라가고 있지만 AChartEngine에서 Google Charts (https://developers.google.com/chart/)로 옮길 계획입니다. 나는 경험적으로 다른 것보다 더 나은지 말할 수있게되지 않았다. –

+0

하지만 오프라인에서는 Google Charts를 사용할 수 없습니까? –

관련 문제