我正在使用Achartengine在我的Android应用中创建条形图。我需要,如果用户点击了一个栏,那么他就获得了Yaxis的价值。出于某种原因,我不想使用它:
renderer.setDisplayChartValues(true);
我写了这个,但它不起作用:
final GraphicalView mChartView;
mChartView = ChartFactory.getBarChartView(context, dataset, mRenderer, Type.DEFAULT);
mChartView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
// handle the click event on the chart
SeriesSelection seriesSelection = mChartView.getCurrentSeriesAndPoint();
if (seriesSelection != null) {
// Getting the y value after clicking BAR
int amount = (int) seriesSelection.getValue();
Log.i("point: ", "is "+amount);
}
mChartView.repaint();
}
});
我还将这些添加到我的multirenderer:
mRenderer.setClickEnabled(true);
mRenderer.setSelectableBuffer(30);
答案 0 :(得分:0)
尝试将Type.DEFAULT
替换为null
。我不知道为什么,但它似乎是bcoz我尝试过它的原因。还看到mChart.toRealPoint
的事情。
mChart.setOnClickListener(new View.OnClickListener(){
public void onClick(View v)
{
System.out.println("X :" + mChart.toRealPoint(0)[0]);
System.out.println("Y:" + mChart.toRealPoint(0)[1]);
SeriesSelection seriesSelection = mChart.getCurrentSeriesAndPoint();
if (seriesSelection != null) {
// Getting the y value after clicking BAR
int amount = (int) seriesSelection.getValue();
Log.i("point: ", "is "+amount);
}
mChart.repaint();
}
});
chartLayout.addView(mChart);