2016-07-10 1 views
3

나는 지금 MPAndroid 차트를 사용 해왔다. 오늘날 라이브러리에 대한 그랜드 종속성을 추가 한 후에는 변경된 사항이 거의 없습니다.MPAndroid 차트에서 X 값을 어떻게 사용합니까?

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(); 

내 질문은 어디에 입력합니까 변수입니다. 처음에 나는 BarData barData = new BarData(xData, barDataSet);라고 말했지만 이것은 작동하지 않습니다. xData 변수는 어디에 넣어야합니까? 아니면 어디서 잘못됩니까?

답변

5

이 라이브러리의 이전 버전에서는이 생성자가 확실히 존재했습니다. BarData 클래스의 current version에는 없습니다. 슬픈 것처럼 들리 겠지만, 이전 버전으로 돌아가려면 gradle 종속성을 변경하고 우리 모두가 잘 알고있는 생성자를 사용하십시오.

새로운 버전을 사용하는 몇 가지 BarChart examples이 있습니다. 그러나 X 축을 전혀 갖고 있지 않거나 전혀 사용하지 않으면 모두 BarEntry을 사용하여 설정되고 사용자 정의 값 포맷터를 사용하여 포맷 된 정수 값을가집니다. 그것도 내가 완전히 무언가를 놓친 것일 수도 있습니다.

+0

고마워 고마워 또. 적어도 당신은 내 문제를 이해했습니다. 이전 버전을 반영하기 위해 grandle을 변경 했는데도 작동했지만 미래에이 라이브러리가 필요할 경우를 대비해 여전히 두려워요. 뭔가 엉망이 될 수도 있습니다. –

0

코드를 어떻게 구현하는지 잘 모르겠지만 데이터 항목에 항목을 추가하는 것은 이와 같아야합니다.

ArrayList<BarEntry> entries = new ArrayList<>(); 
    entries.add(new BarEntry(50f,0)); 
    entries.add(new BarEntry(30f, 1)); 
    entries.add(new BarEntry(0f, 2)); 
    entries.add(new BarEntry(60f, 3)); 
    entries.add(new BarEntry(70f, 4)); 

    BarDataSet dataset = new BarDataSet(entries, ""); 

    // creating labels 
    ArrayList<String> labels = new ArrayList<String>(); 
    labels.add("fifty"); 
    labels.add("thirty"); 
    labels.add("zero"); 
    labels.add("sixty"); 
    labels.add("seventy"); 

    BarData data = new BarData(labels, dataset); 

당신이 찾고있는 것이 정착되어 있다면 축하한다. 어쩌면 당신은 더 잘 설명 할 수 있습니다.

+0

최신 라이브러리를 사용해 보셨습니까? 'BarData data = 새 BarData (lables, dataset)'가 작동하지 않습니다. 즉, BarData 생성자 문자열이 첫 번째 매개 변수로 제거되었습니다. 그러나이 작업은'BarData bardata = new BarData (datasetObj)'가 잘 작동하고 있습니다.'PieData'와 나머지는 마찬가지입니다. 좋아요. 좋아요,하지만 최신 릴리스에서는 작동하지 않는다 –

+0

나는 더 잘 설명해 왔으며, 이제 당신은 그것을 분명하고 분명하게 할 수 있다고 생각한다. 내가 MPAndroid 차트를 사용하여 잠시 동안,하지만 지금은 내가 이것을 해결하는 방법을 알아낼 때까지 그들을 사용할 수 없습니다 –

+0

당신은 질문에 대답하지 않았다 –

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)); 
관련 문제