2017-05-10 3 views
1

今、私はこの問題に直面しています。 xAxの最初の値と最後の値が繰り返されています。グラフの値はそれぞれのx軸の値の値ではありません。 2番目の問題は、floatではなくintに丸められた値を表示し、その色を白に変更する場合です。xAxis MPChartで重複する値を取得

ArrayList<String> xlabels = new ArrayList<String>(); 
     xlabels.add("Jan"); 
     xlabels.add("Feb"); 
     xlabels.add("Mar"); 
     xlabels.add("Apr"); 
     xlabels.add("May"); 
     xlabels.add("Jun"); 

     ArrayList<String> values = new ArrayList<String>(); 
     values.add("1"); 
     values.add("20"); 
     values.add("10"); 
     values.add("80"); 
     values.add("90"); 
     values.add("24"); 

     showLineChart(clickChart,xlabels,values,mColors[3]); 

showLineChart方法:詳細についてlinkをチェック

xAxis.setGranularityEnabled(true); 

private void showLineChart(LineChart chart,final List<String> xLabels, List<String> values,int color){ 
     List<Entry> entries = new ArrayList<Entry>(); 
     for(int i=0;i<values.size();i++){ 
      entries.add(new Entry(i, Integer.parseInt(values.get(i)))); 
     } 



     LineDataSet dataSet = new LineDataSet(entries, "Numbers"); 
     dataSet.setLineWidth(1.75f); 
     dataSet.setCircleRadius(5f); 
     dataSet.setCircleHoleRadius(2.5f); 
     dataSet.setColor(Color.WHITE); 
     dataSet.setCircleColor(Color.WHITE); 
     dataSet.setHighLightColor(Color.WHITE); 
     dataSet.setDrawValues(true); 


     LineData data = new LineData(dataSet); 
     ((LineDataSet) data.getDataSetByIndex(0)).setCircleColorHole(color); 

     chart.getDescription().setEnabled(false); 

     chart.setDrawGridBackground(false); 

     chart.setTouchEnabled(true); 

     chart.setBorderColor(Color.WHITE); 

     chart.setDragEnabled(true); 
     chart.setScaleEnabled(true); 


     chart.setPinchZoom(false); 

     chart.setBackgroundColor(color); 

     YAxis yAxisLeft = chart.getAxisLeft(); 
     yAxisLeft.setTextColor(Color.WHITE); 
     yAxisLeft.setAxisLineColor(Color.WHITE); 


     YAxis yAxisRight = chart.getAxisRight(); 
     yAxisRight.setTextColor(Color.WHITE); 
     yAxisRight.setAxisLineColor(Color.WHITE); 

     XAxis xAxis = chart.getXAxis(); 
     xAxis.setTextColor(Color.WHITE); 
     xAxis.setAxisLineColor(Color.WHITE); 
     xAxis.setPosition(XAxis.XAxisPosition.BOTTOM); 
     xAxis.setAvoidFirstLastClipping(false); 
     xAxis.isDrawLabelsEnabled(); 
     xAxis.setDrawGridLines(false); 
     xAxis.setValueFormatter(new IAxisValueFormatter() { 

      @Override 
      public String getFormattedValue(float value, AxisBase axis) { 

       return xLabels.get((int)value); 
      } 


     }); 
     chart.animateX(2500); 
     chart.setData(data); 
     chart.invalidate(); 
    } 

enter image description here

答えて

4

私はそれが次の行を追加し解決するために、同じ問題に直面していました詳細Axisについて

+0

あなたは私の日を救ってくれました。数分で答えを受け入れることができるでしょう:)幸せなコード作成 –

+0

@MehvishFaisalあなたの日を救ったことを聞いて嬉しいです。答えを受け入れることを忘れないでください;) –

+0

それがオンになるのを待っています:) –

関連する問題