android AChartEngine图标引擎

AChartEngine

1.在androi开发中的时候很多时候是要用图表将数据直观的显示出来的,这里就要用到AChartEngine.

XMultipleSeriesRenderer 是经常要用到的一个类,这里来熟悉一下它里面的一些方法,摘自:http://blog.csdn.net/kmyhy/article/details/6338778

ACE绘制的图形,坐标轴上的刻度值,要么显示为数字,要么显示为时间:

android AChartEngine图标引擎

那么能不能在坐标轴上显示自己的内容,比如文字呢?

这需要使用 XYMultipleSeriesRenderer的addTextLabel(int,String)方法。

该方法接收一个int参数,用于指定要显示文字的X轴坐标,比如在X轴坐标1的位置显示“昆明”,则addTextLabel(1,”昆明”);

当然,原来tick数字1仍然会显示,这样数字“1” 和文字标签“昆明”会重叠再一起,因此,我们还需要用 setXLabels(0) 把数字标签屏蔽掉。

具体代码如下面所示:

// 设置系列renderer

publicXYMultipleSeriesRenderer getRenderer() {

// 构造一个多系列render(多个renderer的集合)

XYMultipleSeriesRendererrenderer = new XYMultipleSeriesRenderer();

renderer.setAxisTitleTextSize(16); // 坐标轴标题字体大小:16

renderer.setChartTitleTextSize(20); // 图表标题字体大小:20

renderer.setLabelsTextSize(15); // 轴标签字体大小:15

renderer.setLegendTextSize(15); // 图例字体大小:15

renderer.setShowGrid(false); // 设置网格显示

renderer.setXAxisMin(xMin); // 设置X轴起点

renderer.setAxesColor(Color.WHITE); // 设置XY轴颜色

renderer.setLabelsColor(Color.GRAY);// 设置轴标签颜色

renderer.setXAxisMax(xMax); // 设置X轴最大点

renderer.setYAxisMin(yMin); // 设置Y轴起点

//       renderer.setYAxisMax(yMax);

renderer.setMargins(new int[] {20, 30, 15,0}); // 图形4边距

renderer.setDisplayChartValues(true); // 在柱子顶端显示数值

renderer.setXLabelsAngle(-25); // 设置X轴标签倾斜角度(clockwise degree)

renderer.setXLabels(0); // 设置X轴不显示数字(改用我们手动添加的文字标签)

int i=0;

for(Map<String,Object>map:maps){

i++;

String name=map.get("rowname").toString();

renderer.addTextLabel(i, name);

}

// 构造其中一个系列的render

SimpleSeriesRenderer r= new SimpleSeriesRenderer();

r.setColor(Color.YELLOW);

renderer.addSeriesRenderer(r);

return renderer;

}

运行效果如下:

android AChartEngine图标引擎

现在x轴坐标上的数字标签被我们替换为一系列云南省地名

上一篇:Android Lint Checks


下一篇:java 判断是否为纯数字