размер точки точечной диаграммы achartengine

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

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

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();
    }
}

Любая идея, как я могу сделать точки больше? Они такие маленькие, что их почти не видно


person user1154920    schedule 12.04.2012    source источник


Ответы (1)


Точки на самом деле не отображаются, пока вы не установите стиль точки XYSeriesRenderer на значение, отличное от PointStyle.POINT. Чтобы получить очки в стиле мяча, сделайте следующее:

XYSeriesRenderer renderer = new XYSeriesRenderer();
renderer.setPointStyle(PointStyle.CIRCLE);
renderer.setFillPoints(true);
mRenderer.addSeriesRenderer(renderer);
mRenderer.setPointSize(2.0f);
person Tore Olsen    schedule 08.03.2013
comment
код строки 3 должен быть renderer.setFillPoints(true); (в отличие от setFillPoint) - person baekacaek; 22.09.2014
comment
Спасибо, исправил опечатку. - person Tore Olsen; 22.09.2014