PieDataSet不能应用于MPAndroidChart中的String

时间:2017-07-12 03:08:03

标签: android pie-chart mpandroidchart

我想从github制作带有MPAndroidChart库的PieChart,我按照google或youtube上的说明进行操作,但我仍然坚持使用此代码

private void addData(){

    ArrayList<Entry> yVals1 = new ArrayList<Entry>();

    for (int i = 0; i < yData.length; i++)
        yVals1.add(new Entry(yData[i], i));

    ArrayList<String> xVals = new ArrayList<String>();

    for (int i = 0; i < xData.length; i++)
        xVals.add(xData[i]);

    PieDataSet dataSet = new PieDataSet(yVals1, "Market Share");
    dataSet.setSliceSpace(3);
    dataSet.setSelectionShift(5);

}

in

  

PieDataSet dataSet = new PieDataSet(yVals1,&#34; Market Share&#34;);

我收到警告,PieDataSet Cannot Applied to String。我不知道什么是错的,因为在教程中与我相同

2 个答案:

答案 0 :(得分:1)

对于MPCharts的饼图,我已使用此代码段

 protected PieData generatePieData() {

    int count = 10;

    ArrayList<PieEntry> entries1 = new ArrayList<PieEntry>();

    for(int i = 0; i < count; i++) {
        entries1.add(new PieEntry( (float) salary[i], months[i]));
    }

    PieDataSet ds1 = new PieDataSet(entries1, "Monthly Salary 2017");
    ds1.setColors(ColorTemplate.JOYFUL_COLORS);
    ds1.setSliceSpace(2f);
    ds1.setValueTextColor(Color.WHITE);
    ds1.setValueTextSize(10f);
    ds1.setSliceSpace(5f);


    return new PieData(ds1);
}

薪水和月份是数组

答案 1 :(得分:0)

我认为你需要将ArrayList指定为PieEntry?

ArrayList<PieEntry> yVals1 = new ArrayList<PieEntry>();

编辑:

我认为这是你可能需要的东西?;

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

        ArrayList<PieEntry> yVals1 = new ArrayList<PieEntry>();
        for (int i = 0; i < yData.length; i++){
            yVals1.add(new Entry(yData[i], xData[i]));
        }