android报表图形引擎(AChartEngine)demo解析与源码
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) 移除一个序列 |
转载于:https://www.cnblogs.com/homg/p/3345014.html
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
