如何使用Barchart使用MPAndroidChart添加顶部的标题和底部的值?

时间:2016-09-19 14:18:12

标签: android mpandroidchart

最近两天,我尝试使用Production Deployment在图像中执行与下面相同的图表。我几乎能够执行完全相同但我有几点不知道如何做到这一点。如下

  1. 在图表中,如何在图表顶部显示标题,即sun,mon,。 我曾尝试但它显示垂直线并且仅支持浮点值。我正在尝试使用Barchart。

  2. 第二点是如何在栏的底部显示值。我尝试了该属性,但它显示了条形图上方或条形图内部的值,但无法看到如图所示在底部设置位置。

  3. 谢谢,如果有人能指导我这两点。

    MPAndroidChart

2 个答案:

答案 0 :(得分:0)

首先回答这一点,如何在条形图上设置/显示自定义标题?

为此,我们可以通过覆盖两个方法 getFormattedValue getDecimalDigits()来使用 setValueFormatter(..)方法。在 - 的里面 获取格式化值我们返回标题字符串。而不是十进制值。 因为我的情况必须显示字符串值。请参阅下面的完整代码段。

private String[] weeksName = {"Wed", "Thu", "Fri", "Sat", "Sun", "Mon","Today"};

mDashBoardBinding.progressSection.barView.getXAxis().setValueFormatter(new AxisValueFormatter() {
            @Override
            public String getFormattedValue(float value, AxisBase axis) {
                return weeksName[(int) value];
            }

            @Override
            public int getDecimalDigits() {
                return 0;
            }
        });

对于下一点,我想知道如何在底部方向上对齐条形值。一旦找到解决方案,我会更新它。

谢谢, Bhavdip

答案 1 :(得分:0)

为了显示栏底部的值,我这样做了:

XAxis xl = chart.getXAxis(); xl.setPosition(XAxis.XAxisPosition.BOTTOM_INSIDE);

隐藏值(将它们设置为“”)

BarDataSet set = new BarDataSet(yVals,“Legend”);

    set.setValueFormatter(new ValueFormatter() {
        @Override
        public String getFormattedValue(float value, Entry entry, int dataSetIndex, ViewPortHandler viewPortHandler) {
                return "";
        }
    });

实际上在标签上设置了格式化值。

希望有所帮助

See image here - Show values at the bottom