2012-04-12 5 views
2

Я пытаюсь изменить размер точек моего графика, но когда я делаю mRenderer.setPointSize (размер); он никогда не меняется ..размер диаграммы рассеяния артангинга

Вот мой полный код для графа:

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

Спасибо, я исправил опечатку. –

Смежные вопросы