0

我在图表中显示了几个 LineDataSet。我不需要默认显示圆圈。但是当用户单击图表时,我需要根据 x 值在所有行上显示圆圈。如何实施?

在此处输入图像描述

4

1 回答 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 回答