2013-01-16 52 views
1

我是achartengine的新手,我喜歡。做得好!Achartengine汽車追蹤 - y軸上的額外空間

我正在使用帶有動態添加點的線圖。如果我沒有碰它,自動縮放和跟隨功能可以正常工作。不過,我想在y軸的頂部有一些額外的空間(見截圖)。我怎樣才能做到這一點?我不希望這些點觸及圖的上邊緣。

這是我的代碼:

public Linegraph() { 
     mDataset.addSeries(dataset); 

     renderer.setColor(Color.BLUE); 
     renderer.setPointStyle(PointStyle.TRIANGLE); 
     renderer.setFillPoints(true); 

     // enable zoom 
     mRenderer.setZoomButtonsVisible(true); 
     mRenderer.setXTitle("Value #"); 
     mRenderer.setYTitle("Value"); 
     mRenderer.setLabelsTextSize(25); 
     mRenderer.setLegendTextSize(25); 
     mRenderer.setChartTitleTextSize(25); 
     mRenderer.setAxisTitleTextSize(25); 
     mRenderer.setYLabelsAlign(Align.LEFT); 
     mRenderer.setXLabelsColor(Color.RED); 
     mRenderer.setYLabelsColor(0, Color.RED); 
     mRenderer.addSeriesRenderer(renderer); 
     mRenderer.setYAxisMin(-1); 
     mRenderer.setXAxisMin(-1); 

    } 

    public GraphicalView getView(Context context) { 
     return ChartFactory.getLineChartView(context, mDataset, mRenderer); 
    } 

    public void addNewPoint(Point p) { 
     dataset.add(p.getX(), p.getY()); 
    } 

我怎樣才能重新啓用觸摸和手動移動視圖後自動追蹤功能嗎?

截圖:

enter image description here

回答

1

的選擇是永遠知道數據範圍和可視區域設置的東西,包括的範圍,並增加了一些小的空間。舉例來說,如果數據0和100之間的範圍在X軸上和從Y軸5和10中,像這樣將是良好的:

renderer.setXAxisMin(-0.5); 
renderer.setXAxisMax(100.5); 
renderer.setXAxisMin(4.75); 
renderer.setXAxisMax(10.25); 

對於第二個問題:

renderer.initAxisRange(1); 
+0

答案的第一部分完美的作品。有一些額外的空間,圖形看起來好多了。 至於第二部分:它再次縮放,但額外的空間再次丟失。如果這可能會影響第一部分(=額外的空間),我會非常高興! 感謝您的快速支持! 毫無疑問:這個庫很好,但稍微好一點的JavaDoc會讓很多問題變得多餘。 initAxisRange()方法根本沒有文檔。我仍然不確定'setRange()'與'setXAxisMin/Max'相反 – AndyB

0

至於我理解你的問題,你應該給泛限制

mRenderer.setMargins(new int[] { 60, 120, 60, 60 });