2012-12-27 103 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

相关问题