2012-04-12 4 views
2

그래프의 포인트 크기를 변경하려고하는데, 할 때 mRenderer.setPointSize (size); 는 여기 achartengine scatter 그래프 포인트 크기

그래프 내 전체 코드입니다 .. 절대 변경 :

public class ShowGraph extends Activity { 

    private XYMultipleSeriesDataset mDataset = new XYMultipleSeriesDataset(); 
    private XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer(); 
    private XYSeries mCurrentSeries; 
    private XYSeriesRenderer mCurrentRenderer; 
    private GraphicalView mChartView; 
    int x,y; 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.graph_layout); 
     LinearLayout layout = (LinearLayout) findViewById(R.id.chart); 

     mRenderer.setPanLimits(new double[] { 00, 600 , 00, 300 });  //xmin,xmax,ymin,ymax bars/grids limit 
     mRenderer.setZoomLimits(new double[]{00, 200, 00, 30});  //xmin,xmax,ymin,ymax zoom limit 
     String seriesTitle = "Series " + (mDataset.getSeriesCount() + 1); 
     XYSeries series = new XYSeries(seriesTitle); 
     ArrayList<String> accuracy = getIntent().getExtras().getStringArrayList("accuracy"); 
     ArrayList<String> time = getIntent().getExtras().getStringArrayList("time"); 
     for (int i = 0; i < time.size(); i++) { 
      series.add(Double.parseDouble(time.get(i)), Double.parseDouble(accuracy.get(i))); 
     } 
     mDataset.addSeries(series); 
     mCurrentSeries = series; 
     mRenderer.setYLabelsAlign(Paint.Align.RIGHT); 
     XYSeriesRenderer renderer = new XYSeriesRenderer(); 
     mRenderer.addSeriesRenderer(renderer); 
     mRenderer.setPointSize(15f); 
     mCurrentRenderer = renderer; 

     if(mChartView== null){ 

      //ADD VALUE OF X,Y HERE to the series 
      mCurrentSeries.add(x,y); 

      if (mChartView != null) { 
       mChartView.repaint(); 
      } 
      mChartView = ChartFactory.getScatterChartView(ShowGraph.this, mDataset, mRenderer); 
      mChartView.addPanListener(new PanListener() { 
       public void panApplied() { 
        System.out.println("New X range=[" + mRenderer.getXAxisMin() + ", " + mRenderer.getXAxisMax() 
         + "], Y range=[" + mRenderer.getYAxisMax() + ", " + mRenderer.getYAxisMax() + "]"); 
       } 
      }); 
      layout.addView(mChartView, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.FILL_PARENT)); 

     } 
     Toast.makeText(this, "" + mRenderer.getPointSize(), 3000).show(); 
    } 
} 

내가 포인트가 더 큰 만들 수있는 방법 어떤 생각? 너무 작아서 간신히 볼 수 있습니다.

답변

8

XYSeriesRenderer의 포인트 스타일을 PointStyle.POINT 이외의 값으로 설정해야 포인트가 실제로 표시됩니다. 볼 스타일 포인트를 얻으려면 다음을 수행하십시오.

XYSeriesRenderer renderer = new XYSeriesRenderer(); 
renderer.setPointStyle(PointStyle.CIRCLE); 
renderer.setFillPoints(true); 
mRenderer.addSeriesRenderer(renderer); 
mRenderer.setPointSize(2.0f); 
+1

3 행의 코드는 renderer.setFillPoints (true)이어야합니다. ("setFillPoint"와 반대) – baekacaek

+0

감사합니다. 오타가 수정되었습니다. –