我用achartengine编写了一个简单的时间表。我想做的是通过单击图形上的点来获取已经绘制的值,这可能吗?

最佳答案

假设mChartView是您的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();
                  }
                }
              });

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

关于java - AChartEngine,单击即可获取图的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6273796/

10-12 17:46