Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

AChartEngine, getting values of plots on click

I used achartengine for coding a simple time chart. What I want to do is get the values that are already plotted by clicking on the point on the graph, is this possible?

like image 771
Adrian Viesca Avatar asked Jun 08 '11 03:06

Adrian Viesca


1 Answers

Assuming that mChartView is your GraphicalView:

mChartView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                  SeriesSelection seriesSelection = mChartView.getCurrentSeriesAndPoint();
                  double[] xy = mChartView.toRealPoint(0);

                  if (seriesSelection == null) {
                    Toast.makeText(GraficoMensile.this, "No chart element was clicked", Toast.LENGTH_SHORT)
                        .show();
                  } else {
                    Toast.makeText(
                            GraficoMensile.this,
                        "Chart element in series index " + seriesSelection.getSeriesIndex()
                            + " data point index " + seriesSelection.getPointIndex() + " was clicked"
                            + " closest point value X=" + seriesSelection.getXValue() + ", Y=" + seriesSelection.getValue()
                            + " clicked point value X=" + (float) xy[0] + ", Y=" + (float) xy[1], Toast.LENGTH_SHORT).show();
                  }
                }
              }); 

source: http://code.google.com/p/achartengine/source/browse/trunk/achartengine/demo/org/achartengine/chartdemo/demo/chart/XYChartBuilder.java

like image 91
Alessandro Avatar answered Nov 01 '22 02:11

Alessandro