2016-04-12 13 views
0

Hat ve pasta grafiğini temsil etmek için MPAndroid kütüphanesi kullanıyorum. X-ekseninde 1,2,3,4 .. gibi küçük değerler kullandığımda, grafik ekrana sığar ve kaydırma gerektirmez. Fakat x eksenine ait veriler, tarih aralığı (13-04-2016) gibi büyük olduğunda, ekrana 10 yerine sadece 5 değer verir ve grafiği yakınlaştırdığımda, tüm değerleri yatay kaydırmada gösterir. kodMPAndroid çizgi grafiği x ekseninde değerler büyükse genişliyor

private void initializeChart(LineChart chart) { 
    // Chart view 
    chart.setDrawGridBackground(false); 
    chart.setDescription(""); 
    chart.getLegend().setEnabled(true); 
    chart.setTouchEnabled(false); 
    int color = getResources().getColor(R.color.white); 
    chart.getAxisLeft().setTextColor(color); // left y-axis 
    chart.getXAxis().setTextColor(color); 
    //X axis 
    XAxis xAxis = chart.getXAxis(); 
    xAxis.setPosition(XAxis.XAxisPosition.BOTTOM); 
    xAxis.setDrawGridLines(false); 
    xAxis.setDrawLabels(true); 

    //Y axis 
    YAxis leftAxis = chart.getAxisLeft(); 
    YAxis rightAxis = chart.getAxisRight(); 
    rightAxis.setDrawLabels(false); 
    rightAxis.setDrawGridLines(false); 
    leftAxis.setDrawLabels(true); 
    leftAxis.setDrawGridLines(false); 
    ChartItem item = CannonJsonParser.parseCanonJson(act, act.res); 

    setLineData(10, 20, item); 
    // set data 
    chart.setData(lineData); 
    chart.getLegend().setEnabled(false); 
    //animate 
    // chart.animateX(2000, Easing.EasingOption.EaseInOutQuart); 
    chart.setDragEnabled(true); 
    chart.setTouchEnabled(true); 
    chart.setScaleXEnabled(true); 
    chart.setScaleYEnabled(false); 
    chart.setHighlightPerDragEnabled(false); 
    chart.setHighlightPerTapEnabled(false); 
} 

Ya tüm veri kaydırma olmadan tek ekranda sabit olmalıdır veya daha sonra kayar eğer grafik yakınlaştırmadan kaydırılabilir olması gerektiğini istemek aşağıda kullanarak. Şu anda grafiğe yakınlaştığımda sadece tüm verileri kaydırıyor ve gösteriyor.

cevap

0

AxisMaxValue() öğesini ayarlayın. Doğru grafik gösterecektir.

chart.getAxisLeft().setAxisMaxValue(float); 
İlgili konular