我正在使用achartengine来显示线图。我一直试图获取触摸点的坐标(不是线图上的坐标,而是图形区域中的任何位置)。所以我认为 getSeriesAndPointForScreenCoordinate(...)在这种情况下不会有帮助。
有什么建议吗?
答案 0 :(得分:2)
如果你有屏幕坐标点,那么你可以调用chartView.toRealPoint()
来获得真实的数据坐标值。
答案 1 :(得分:1)
尝试使用此代码:
myXYPlot.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
switch (event.getAction()) {
case MotionEvent.ACTION_MOVE:
displaycoordinates(event);
break;
case MotionEvent.ACTION_DOWN:
displaycoordinates(event);
break;
default:
break;
}
return true;
}
});
}
其中displaycoordinates()定义如下:
public void displaycoordinates(MotionEvent event) {
// TODO Auto-generated method stub
float x = event.getX();
float y = event.getY();
PointF point = new PointF(x,y);
NumberFormat nf = new DecimalFormat("#0.00");
Double j = getXval(x);
String xval = nf.format(j);
Double k = getYval(y);
String yval = nf.format(x);
if(j>=condition1 && k>=condition2 && j<=condition3 && k<=condition4)
{
toast = Toast.makeText(getApplicationContext(), xval+"xval"+yval+" yval", 0);
toast.show();
}
}