如何使用 MPAndroidChart 获取选定栏 x-axis 的值?

How to get selected bar x-axis value using MPAndroidChart?

我在我的 Android 图表应用程序中使用 MPAndroidChart 库,我需要显示一个标题包含所选栏的 x-axis 值的对话框。

我将此 wiki entry 用于条形图中条形的点击事件。但现在我需要将选定的栏 x-axis 值作为标题。谁能告诉我如何实现它?

使用 OnChartValueSelectedListener:

@Override
public void onValueSelected(Entry e, Highlight h) {

   final String x = chart.getXAxis().getValueFormatter().getFormattedValue(e.getX(), chart.getXAxis());
}

Highlight 对象 包含有关所选位置的附加信息,例如所选值的 dataSetIndex、x 和 y-position,以像素为单位,选定的堆叠值(在堆叠条形图中),...

也可以看看 documentation of highlighting values

更新:对于 MPAndroidChart 3.x.x,以下工作按照 :

chart.setOnChartValueSelectedListener(new OnChartValueSelectedListener() {
    @Override
    public void onValueSelected(Entry e, Highlight h) {
        chart.getXAxis().getValueFormatter().getFormattedValue(e.getX(), chart.getXAxis());
    }

    @Override
    public void onNothingSelected() {

    }
});

使用 onValueSelected:

 public void onValueSelected(Entry e, int dataSetIndex, Highlight h) {

   int position =  e.getXIndex();
   Log.d("positin", position );

   //XValue
   final String selectedValue=barchart.getXAxis().getValues().get(position);
   Log.d("selctdX", selectedValue);

   //YValue
   final String selectedYValue = String.valueOf(e.getVal());
   Log.d("selctdY", selectedValue);

}

您可以使用此代码获取所选柱的位置、x 轴值和 ya 轴值。