AchartEngine支持多种图表样式,本文介绍两种:线状表和柱状表。 AchartEngine有两种启动的方式:一种是通过ChartFactory.get***View()方式来直接获取到view放入到我们设置好的布局文件中,还有一种是通过ChartFactory.get***Intent()来获得启动activity的intent(需要在AndroidManifest.xml中注册一个activity:org.achartengine.GraphicalActivity)。 需有添加jar包:achartengin.jar,可以到http://code.google.com/p/achartengine/downloads/list这个地址去下载,也可以下地我写的demo的源码,libs文件夹里有。 先上两张效果图:
代码如下: 线状图布局文件: [html]
条形图 |
static android.content.Intent |
getBarChartIntent(android.content.Context context,XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer,BarChart.Type type) |
条形图 |
static android.content.Intent |
getBarChartIntent(android.content.Context context,XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer,BarChart.Type type, java.lang.String activityTitle) |
条形图 |
static GraphicalView |
getBarChartView(android.content.Context context,XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer,BarChart.Type type) |
气泡图 |
static android.content.Intent |
getBubbleChartIntent(android.content.Context context,XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer) |
气泡图 |
static android.content.Intent |
getBubbleChartIntent(android.content.Context context,XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer, java.lang.String activityTitle) |
气泡图 |
static GraphicalView |
getBubbleChartView(android.content.Context context,XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer) |
组合图 |
static android.content.Intent |
getCombinedXYChartIntent(android.content.Context context,XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer, java.lang.String[] types, java.lang.String activityTitle) |
组合图 |
static GraphicalView |
getCombinedXYChartView(android.content.Context context,XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer, java.lang.String[] types) |
立方折线图 |
static GraphicalView |
getCubeLineChartView(android.content.Context context,XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer, float smoothness) |
立方折线图 |
static android.content.Intent |
getCubicLineChartIntent(android.content.Context context,XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer, float smoothness) |
立方折线图 |
static android.content.Intent |
getCubicLineChartIntent(android.content.Context context,XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer, float smoothness, java.lang.String activityTitle) |
拨号盘 |
static android.content.Intent |
getDialChartIntent(android.content.Context context,CategorySeries dataset, DialRenderer renderer, java.lang.String activityTitle) |
拨号盘 |
static GraphicalView |
getDialChartView(android.content.Context context, CategorySeries dataset,DialRenderer renderer) |
圆环图 |
static android.content.Intent |
getDoughnutChartIntent(android.content.Context context,MultipleCategorySeries dataset, DefaultRenderer renderer, java.lang.String activityTitle) |
圆环图 |
static GraphicalView |
getDoughnutChartView(android.content.Context context,MultipleCategorySeries dataset, DefaultRenderer renderer) |
圆环图 |
static android.content.Intent |
getLineChartIntent(android.content.Context context,XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer) |
折线图 |
static android.content.Intent |
getLineChartIntent(android.content.Context context,XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer, java.lang.String activityTitle) |
折线图 |
static GraphicalView |
getLineChartView(android.content.Context context,XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer) |
饼图 |
static android.content.Intent |
getPieChartIntent(android.content.Context context, CategorySeries dataset,DefaultRenderer renderer, java.lang.String activityTitle) |
饼图 |
static GraphicalView |
getPieChartView(android.content.Context context, CategorySeries dataset,DefaultRenderer renderer) |
范围条形图 |
static android.content.Intent |
getRangeBarChartIntent(android.content.Context context,XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer,BarChart.Type type, java.lang.String activityTitle) |
范围条形图 |
static GraphicalView |
getRangeBarChartView(android.content.Context context,XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer,BarChart.Type type) |
散点图 |
static android.content.Intent |
getScatterChartIntent(android.content.Context context,XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer) |
散点图 |
static android.content.Intent |
getScatterChartIntent(android.content.Context context,XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer, java.lang.String activityTitle) |
散点图 |
static GraphicalView |
getScatterChartView(android.content.Context context,XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer) |
时间图 |
static android.content.Intent |
getTimeChartIntent(android.content.Context context,XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer, java.lang.String format) |
时间图 |
static android.content.Intent |
getTimeChartIntent(android.content.Context context,XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer, java.lang.String format, java.lang.String activityTitle) |
时间图 |
static GraphicalView |
getTimeChartView(android.content.Context context,XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer, java.lang.String format) |
描绘器和数据集的属性解析:
DefaultRenderer:
void |
addSeriesRenderer(int index, SimpleSeriesRenderer renderer) 增加一个renderer到multiple renderer中,index是指定的位置. |
void |
addSeriesRenderer(SimpleSeriesRenderer renderer)增加一个renderer到multiple renderer中 |
int |
getAxesColor() 得到X轴的颜色. |
int |
getBackgroundColor() 得到背景色 |
java.lang.String |
getChartTitle() 得到图表的标题 |
float |
getChartTitleTextSize() 得到图表标题的字号 |
int |
getLabelsColor() 得到Y轴的颜色. |
float |
getLabelsTextSize() 得到Y轴的字号. |
int |
getLegendHeight() 得到图例的高度. |
float |
getLegendTextSize() 得到图例的字号. |
int[] |
getMargins() 得到图表外边框的大小. |
float |
getOriginalScale() Returns the original value to be used for scaling the chart. |
float |
getScale() Returns the value to be used for scaling the chart. |
int |
getSelectableBuffer() 得到点的缓冲半径值(在某点附件点击时,多大范围内都算点击这个点) Returns the selectable radius value around clickable points. |
SimpleSeriesRenderer |
getSeriesRendererAt(int index) 在multiple renderer中得到指定位置的 renderer. |
int |
getSeriesRendererCount() 得到multiple renderer集合中renderer的个数. |
SimpleSeriesRenderer[] |
getSeriesRenderers() 得到 multiple renderer 中的renderer数组. |
float |
getStartAngle() 得到圆形图(例如:饼图/圆环图等)的开始角度. |
java.lang.String |
getTextTypefaceName() 得到字体名. |
int |
getTextTypefaceStyle() 得到字体类型. |
float |
getZoomRate() 得到放大缩小的倍率. |
boolean |
isAntialiasing() Returns the antialiasing flag value. |
boolean |
isApplyBackgroundColor() 得到是否应用背景色的设置结果(true/false). |
boolean |
isClickEnabled() 得到是否启用点击事件. |
boolean |
isExternalZoomEnabled() Returns the enabled state of the external (application implemented) zoom. |
boolean |
isFitLegend() 得到是否设置图例大小自适应. |
boolean |
isInScroll() Returns if the chart is inside a scroll view and doesn't need to shrink. |
boolean |
isPanEnabled() 得到是否允许拖动 Returns the enabled state of the pan. |
boolean |
isShowAxes() 得到是否显示X轴. |
boolean |
isShowCustomTextGrid() 得到是否显示X轴和Y轴网格. |
boolean |
isShowGridX() 得到是否显示X轴网格. |
boolean |
isShowGridY() 得到是否显示Y轴网格. |
boolean |
isShowLabels() 得到是否显示刻度. |
boolean |
isShowLegend() 得到是否显示图例. |
boolean |
isZoomButtonsVisible() 得到是否显示放到缩小按钮. |
boolean |
isZoomEnabled() 是否支持放大缩小. |
void |
removeSeriesRenderer(SimpleSeriesRenderer renderer) 在multiple renderer中移除一个renderer. |
void |
setAntialiasing(boolean antialiasing) Sets the antialiasing value. |
void |
setApplyBackgroundColor(boolean apply) 设置是否应用背景色. |
void |
setAxesColor(int color) 设置X轴的颜色. |
void |
setBackgroundColor(int color) 设置背景色. |
void |
setChartTitle(java.lang.String title) 设置图表的标题. |
void |
setChartTitleTextSize(float textSize) 设置图表标题字号. |
void |
setClickEnabled(boolean enabled) 设置是否允许单击事件. |
void |
setExternalZoomEnabled(boolean enabled) Sets the enabled state of the external (application implemented) zoom. |
void |
setFitLegend(boolean fit) 设置图例字号自适应. |
void |
setInScroll(boolean inScroll) To be set if the chart is inside a scroll view and doesn't need to shrink when not enough space. |
void |
setLabelsColor(int color) 设置坐标颜色. |
void |
setLabelsTextSize(float textSize) 设置坐标字号. |
void |
setLegendHeight(int height) 设置图例高度(单位: pixels). |
void |
setLegendTextSize(float textSize) 设置图例字号. |
void |
setMargins(int[] margins) 设置外边框(单位:pixels)上/左/下/右. |
void |
setPanEnabled(boolean enabled) 设置是否允许拖动 Sets the enabled state of the pan. |
void |
setScale(float scale) Sets the value to be used for scaling the chart. |
void |
setSelectableBuffer(int buffer) 设置点的缓冲半径值(在某点附件点击时,多大范围内都算点击这个点) Sets the selectable radius value around clickable points. |
void |
setShowAxes(boolean showAxes) 设置是否显示X轴. |
void |
setShowCustomTextGrid(boolean showGrid) 设置X轴和Y轴网格是否显示. |
void |
setShowGrid(boolean showGrid) 设置是否显示网格. |
void |
setShowGridX(boolean showGrid) 设置是否显示X轴网格. |
void |
setShowGridY(boolean showGrid) 设置是否显示Y轴网格. |
void |
setShowLabels(boolean showLabels) 设置是否显示坐标. |
void |
setShowLegend(boolean showLegend) 设置是否显示图例. |
void |
setStartAngle(float startAngle) 设置圆形图(例如:饼图/圆环图等)的开始角度. |
void |
setTextTypeface(java.lang.String typefaceName, int style) 设置字体名和类型. |
void |
setZoomButtonsVisible(boolean visible) 设置是否显示放大缩小按钮. |
void |
setZoomEnabled(boolean enabled) 设置是否允许放大和缩小. |
void |
setZoomRate(float rate) 设置放大缩小的倍率. |
XYMultipleSeriesDataset:
void |
addSeries(int index, XYSeries series) 在指定位置增加一个序列. |
void |
addSeries(XYSeries series) 增加一个序列. |
XYSeries[] |
getSeries() 得到序列的数组 |
XYSeries |
getSeriesAt(int index) 得到指定位置的序列. |
int |
getSeriesCount() 得到序列的个数. |
void |
removeSeries(int index) 移除指定位置的序列. |
void |
removeSeries(XYSeries series) 移除一个序列 |