2012-12-27 54 views
2

我正在嘗試使用AChartEngine顯示水平條形圖。AChartEngine不顯示最大圖表值

在條形圖中,應顯示ChartValues。 (我在我的代碼中使用XYSeriesRenderer.setDisplayChartValues(true)。)

以下是呈現的圖表。

horizontal bar chart http://s9.postimage.org/cce0rypbz/image.jpg

正如你所看到的,不顯示最大值。 我認爲x軸(約140)區域的長度不足以顯示最大圖表值的區域。 無論如何,我如何顯示圖表中的最大圖表值?

這是我的代碼。

renderer.setColor(Color.parseColor("#158aea")); 
    renderer.setDisplayChartValues(true); 
    renderer.setChartValuesTextSize(15); 
    renderer.setChartValuesTextAlign(Align.LEFT);  
    myRenderer.setLabelsTextSize(15); 
    myRenderer.setShowGridX(true); 
    myRenderer.setShowLegend(true); 
    myRenderer.setShowLabels(true);  
    myRenderer.addSeriesRenderer(renderer); 
    myRenderer.setPanEnabled(false, false);  
    myRenderer.setXLabels(0);  
    myRenderer.setXLabelsAlign(Align.RIGHT); 
    myRenderer.setYLabelsAlign(Align.RIGHT); 
    myRenderer.setLegendTextSize(20); 
    myRenderer.setBarSpacing(0.2); 
    //myRenderer.setZoomEnabled(false, false); 
    myRenderer.setShowAxes(true); 
    myRenderer.setInScroll(true); 
    myRenderer.setOrientation(Orientation.VERTICAL);   
    myRenderer.setApplyBackgroundColor(true); 
    myRenderer.setBackgroundColor(Color.WHITE); 
    myRenderer.setMarginsColor(Color.WHITE);   
    myRenderer.setLabelsColor(Color.BLACK);  
    myRenderer.setXLabelsColor(Color.BLACK);   
    myRenderer.setYLabelsColor(0, Color.BLACK);  
    myRenderer.setMargins(new int[] {60, -20, 80, 0}); 

回答

0

您可以手動設置最大Y軸值,例如您將有足夠的空間顯示最大值。

myRenderer.setYAxisMax(150); 
+0

如果我將最大值設置得太高,那麼棒的長度太短而無法看到(或無法區分其他非最大棒之間的差異)。我只需要一個可以顯示最大圖表值的小空間。有沒有什麼聰明的方法來做到這一點? – jaehui

+0

將Y最大值設置爲智能值,150僅僅是一個例子。 –

+0

謝謝。你的想法有幫助。 – jaehui