我在图表中显示了几个 LineDataSet。我不需要默认显示圆圈。但是当用户单击图表时,我需要根据 x 值在所有行上显示圆圈。如何实施?
1 回答
3
首先,您需要使用数据集将 draw circles 设置为 false,如下所示:
lineDataSet.setDrawCircles(false);
之后,您需要按如下方式实现 OnChartGestureListener():
lineChart.setOnChartGestureListener(new OnChartGestureListener()
{
@Override
public void onChartTranslate(MotionEvent me, float dX, float dY) {
// TODO Auto-generated method stub
}
@Override
public void onChartSingleTapped(MotionEvent me)
{
// TODO Auto-generated method stub
if(lineDataSet.isDrawCirclesEnabled())
{
lineDataSet.setDrawCircles(false);
}
else
{
lineDataSet.setDrawCircles(true);
}
}
@Override
public void onChartScale(MotionEvent me, float scaleX, float scaleY) {
// TODO Auto-generated method stub
}
@Override
public void onChartGestureStart(MotionEvent me, ChartTouchListener.ChartGesture lastPerformedGesture) {
}
@Override
public void onChartGestureEnd(MotionEvent me, ChartTouchListener.ChartGesture lastPerformedGesture) {
}
@Override
public void onChartLongPressed(MotionEvent me) {
// TODO Auto-generated method stub
}
@Override
public void onChartFling(MotionEvent me1, MotionEvent me2,
float velocityX, float velocityY) {
// TODO Auto-generated method stub
}
@Override
public void onChartDoubleTapped(MotionEvent me) {
// TODO Auto-generated method stub
}
});
这将完成这项工作。祝兄弟好运!
于 2018-11-13T06:52:13.657 回答