MPAndroid图表中自定义X轴标签

5

chart demo

我希望x轴的标签与上图所示相同。我已经尝试使用AxisValueFormatter接口,但它只是将标签“jh ow”从0到1重复3次,并错过了一些在此处显示的标签。

enter image description here

这是我得到的输出。虽然图形形状正确,但标签不正确。

我分享了图形数据,以便有兴趣的人可以尝试制作如上所示的图形。任何帮助都将是极好的,谢谢。

使用MPAndroid并不重要,来自其他库的任何帮助都可以。

数据如下:

"lables" : ["jh ow", "n ih l", "b iy", "hh iy r", "s uw n"]


"values":[[{"x":"0.00","y":"0.00"},{"x":"0.99","y":"0.00"}],
   [{"x":"0.99","y":"1.00"},{"x":"1.19","y":"0.50"}]
,  [{"x":"1.19","y":"0.50"},{"x":"1.37","y":"0.50"}]
,   [{"x":"1.37","y":"0.50"},{"x":"1.59","y":"0.50"}]
,   [{"x":"1.59","y":"0.50"},{"x":"2.12","y":"1.00"}]]
2个回答

0
没关系,我能够通过使用旧版本的MPAndroidChart库来实现这一点,并且它非常好用。

0

在活动页面中,您只需创建一个简单的字符串列表,如下所示:

final ArrayList<String> xVals= new ArrayList<>();
    xVals.add("jh ow");
    xVals.add("n ih l");
    xVals.add("b iy");
    xVals.add("hh iy r");
    xVals.add("s uw n");

然后你这样做;

xAxis.setValueFormatter(new MyXAxisDateArrayFormatter(xVals));

你的 MyXAxisDateArrayFormatter.java 文件

public class MyXAxisDateArrayFormatter implements IAxisValueFormatter {

    private String[] mValues;

    public MyXAxisDateArrayFormatter(String[] values) {
        this.mValues = values;
    }

    @Override
    public String getFormattedValue(float value, AxisBase axis) {
        // "value" represents the position of the label on the axis (x or y)
        return mValues[(int) value];
    }

}

它对我起作用了


你使用了 xAxis.setValueFormatter(new MyXAxisDateArrayFormatter(xVals)); 但是定义了 MyAxisValueFormatter。这是有意为之还是我漏掉了什么? - Aryan Raj
仍然无法获得正确的输出。我已经在问题编辑中添加了截图,请看一下。顺便说一句,感谢你的帮助。 - Aryan Raj

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接