如何使用MPAndroidChart获取选定的条形x轴值?

时间:2016-01-18 04:37:19

标签: android mpandroidchart

我正在Android图形应用中使用MPAndroidChart库,我需要显示包含所选条形x轴值的标题的对话框。

我将此wiki entry提到了条形图中条形的点击事件。但现在我需要将选定的条形x轴值作为标题。任何人都可以告诉我如何实现它吗?

3 个答案:

答案 0 :(得分:8)

使用OnChartValueSelectedListener

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

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

Highlight对象包含有关所选位置的其他信息,例如dataSetIndex,所选值的x和y位置(以像素为单位),所选堆栈值(堆叠)条形图),...

还要看看 Discover Error

答案 1 :(得分:1)

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

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

    @Override
    public void onNothingSelected() {

    }
});

答案 2 :(得分:0)

使用OnChartValueSelectedListener

 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轴值和y轴值。