MPAndroidChart:XAxis值与数据值

时间:2017-03-26 10:36:32

标签: android mpandroidchart

我在使用MPAndroidChart时遇到了问题:我在条形图中显示了一些条目数据,但是xaxis标签没有显示在我想要的位置上:我想在每个图表值上显示一个,立即显示在“棒”。

这就是现在正在发生的事情:

enter image description here

这是我的代码:

    ArrayList<BarEntry> entries1 = my entries...;
    final ArrayList<String> stringList1 = my strings...;

    XAxis xAxis1 = chartCost.getXAxis();
    xAxis1.setPosition(XAxis.XAxisPosition.BOTTOM);
    xAxis1.setDrawGridLines(false);
    xAxis1.setCenterAxisLabels(true);
    /*
    xAxis1.setValueFormatter(new IAxisValueFormatter() {
        @Override
        public String getFormattedValue(float value, AxisBase axis) {
            return stringList1.get((int)value);
        }
    });
    */

    BarDataSet set = new BarDataSet(entries1, "myData");
    BarData data = new BarData(set);
    chartCost.setData(data);
    chartCost.setFitBars(true);
    chartCost.invalidate();
正确填充了

entries1和stringList1。这是一个例子:

- x: 0, y: 22,90
- x: 1, y: 21,53
- x: 2, y: 18,49

如果我对IAxisValueFormatter进行了解除,则浮点值与我的条目的x值不对应,但正如您所看到的,有所有小数值!

我想获得这个(在条形下放置标签): enter image description here

但我怎么能这样做? 谢谢!

1 个答案:

答案 0 :(得分:3)

在代码中包含以下行

xAxis1.setCenterAxisLabels(false);
xAxis1.setGranularity(1f);

setCenterAxisLabels,默认值为false。所以这不是强制性的。如果您将其设置为true,则将其设为false。否则您的栏将位于连续的x值之间