Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MPAndroidChart multiple tooltip/marker view for linechart with 3 data sets

I am currently using MPAndroidChart for my application. In one scenario, I show three datasets within one linechart and when I click on the line on the graph, I get to show only one Tooltip at a time. Instead based on the cross hair position, I would like to show individual tooltip for all three datasets.

I have gone through many other questions here and I couldn't find exactly what I am looking for. This is a sample screenshot of my required output. I would like to know if this is possible and any help is much appreciated. Sample Graph

like image 367
Andro Selva Avatar asked Jul 21 '17 19:07

Andro Selva


1 Answers

Please try with the solution below & let me know your feedback

lineChart.setOnChartValueSelectedListener(new OnChartValueSelectedListener() {
            @Override
            public void onValueSelected(Entry e, Highlight h) {

                Highlight highlight[] = new Highlight[lineChart.getData().getDataSets().size()];
                for (int j = 0; j < lineChart.getData().getDataSets().size(); j++) {

                    IDataSet iDataSet = lineChart.getData().getDataSets().get(j);

                    for (int i = 0; i < ((LineDataSet) iDataSet).getValues().size(); i++) {
                        if (((LineDataSet) iDataSet).getValues().get(i).getX() == e.getX()) {
                            highlight[j] = new Highlight(e.getX(), e.getY(), j);
                        }
                    }

                }
                lineChart.highlightValues(highlight);
            }

            @Override
            public void onNothingSelected() {
            }
        });
like image 199
Don Chakkappan Avatar answered Oct 09 '22 16:10

Don Chakkappan