2017-02-14 69 views
0

我有一張如下圖所示的折線圖,並且我在每一個Y軸上都繪製了X軸標籤。現在,它幾乎不可能讀取。mpandroidchart縮小時的X軸標籤密度

my chart

我要的是X軸標籤要繪製像下面這張照片,所以沒有爲每一個Y軸值,但只是少數人,當我放大,其餘的值將會動態顯示。

what I want

我的休耕guidie,但沒有發現有關此問題的任何東西。

編輯:

我的圖表選項

 ArrayList<ILineDataSet> dataSets = new ArrayList<ILineDataSet>(); 
     dataSets.add(set1); 

     LineData lineData = new LineData(dataSets); 
     lineData.setDrawValues(false); 
     lineData.setHighlightEnabled(true); 

     chart.setData(lineData);      
     chart.setMaxVisibleValueCount(3); 

     // description 
     Description description = new Description(); 
     description.setTextColor(ColorTemplate.VORDIPLOM_COLORS[2]); 
     description.setText(""); 
     chart.setDescription(description); 

     // X-Axis 
     IAxisValueFormatter formatter = new IAxisValueFormatter() { 
      @Override 
      public String getFormattedValue(float value, AxisBase axis) { 
       return x_data[(int)value]; 
      } 

      @Override 
      public int getDecimalDigits() { 
       return 0; 
      } 
     }; 
     chart.getXAxis().setValueFormatter(formatter); 
     chart.getXAxis().setPosition(XAxis.XAxisPosition.BOTTOM); 

     chart.getXAxis().setGranularity(1); 
     //chart.getXAxis().setGranularityEnabled(true); 

     //Y-Axis 
     chart.getAxisLeft().setAxisMinimum(0f); 
     chart.getAxisRight().setAxisMinimum(0f); 

     // avg line 
     Cursor avg = dbHelper.getAvg(id); 
     avg.moveToFirst(); 

     if (avg.moveToFirst()) { 

      YAxis leftAxis = chart.getAxisLeft(); 
      LimitLine ll = new LimitLine(avg.getFloat(0), "avg"); 
      ll.setLineColor(Color.BLUE); 
      ll.setLineWidth(0.3f); 
      ll.setTextColor(Color.BLACK); 
      ll.setTextSize(6f); 
      leftAxis.addLimitLine(ll); 
     } 

     chart.invalidate(); 

回答

-1

加入這行代碼

mChart.setMaxVisibleValueCount(6); 

它可以幫助你!

+0

此行後沒有真正發生,仍然顯示9個XAxis值。 – relliz

+0

你有減少的價值嗎? –

+0

是的,我做到了。用我的圖表選項編輯我的文章。任何消化? – relliz