如何在MPAndroid图表中使用X值?

时间:2016-07-10 18:35:53

标签: android charts visualization mpandroidchart

我一直在使用MPAndroid图表。今天,在为图书馆添加了grandle依赖之后,很少有东西被改变了。

 float YValues [] = {50, 30, 0, 60, 70};
 String [] xValues = {"Fifty", "Thirty", "Zero", "Sixty", "Seventy"};

 ArrayList<BarEntry> yData = new ArrayList<>();
        for(int i = 0; i < YValues.length; i ++)
            yData.add(new BarEntry(YValues[i], i));

        ArrayList<String> xData = new ArrayList<>();
        for(int i = 0; i < xValues.length; i ++)
            xData.add(xValues[i]);

        BarDataSet barDataSet = new BarDataSet(yData, "");
        barDataSet.setColors(ColorTemplate.COLORFUL_COLORS);
        BarData barData = new BarData(barDataSet);
        barChart.setData(barData);
        barChart.invalidate();

我的问题是我在哪里放xData变量。最初我曾经说过 BarData barData = new BarData(xData, barDataSet);但这不起作用。我在哪里放xData变量或哪里出错?

3 个答案:

答案 0 :(得分:5)

在这个库的早期版本中,这个构造函数肯定存在。但它不在BarData类的current version中。听起来很可悲,你可以通过改变你的gradle依赖关系来回到早期版本,并使用我们都熟悉的构造函数。

有几个BarChart examples存在使用较新的版本,但要么它们根本没有X轴,要么它们都有,它们都有使用BarEntry设置的整数值和使用自定义值格式化程序格式化。我也可能完全错过了一些东西。

答案 1 :(得分:0)

我真的不确定你是如何实现你的代码的,但是为数据集添加条目应该是这样的。

SET TERM ^ ;
ALTER PROCEDURE UPDATEEMPLOYEEES
AS
begin
UPDATE ATTANDENCE
SET TOTAL_MINUTES=DATEDIFF(MINUTE,TIME_IN,TIME_OUT),
    TOTAL_HOURS=DATEDIFF(MINUTE,TIME_IN,TIME_OUT)/60.0;
END^
SET TERM ; ^

尝试这个,如果它解决了你正在寻找的东西,那么祝贺,如果没有。也许你可以解释得更好。

答案 2 :(得分:0)

在新的MpAndroidChart中,BarData构造函数已更改。如果需要向xAxis添加标签,请使用以下代码。

//xAxis labels
final ArrayList<String> xLabel = new ArrayList<>();
    xLabel.add("day 1");
    xLabel.add("day 2");
    xLabel.add("day 3");
    xLabel.add("day 4");
    xLabel.add("day 5"); 


//Get xAxis from the barchart
XAxis xAxis = mChart.getXAxis();
xAxis.setValueFormatter(new IndexAxisValueFormatter(xVals));