




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、首先看一下示例中类之间的关系:1. ChartDemo这个类是整个应用程序的入口,运行之后的效果显示一个list.2. IDemoChart接口,这个接口定义了三个方法,getName(返回值是listitem上显示的标题;getDesc(返回值是listitem上显示的描述内容.excute(context返回值是一个Intent,当点击listitem后跳转到此Intent.Table 1 AbstractChartDemo.javapackage com.crelead.plantrack2mobile_alpha1; import java.util.Date; import java
2、.util.List; import org.achartengine.chart.PointStyle; import org.achartengine.model.CategorySeries; import org.achartengine.model.MultipleCategorySeries; import org.achartengine.model.TimeSeries; import org.achartengine.model.XYMultipleSeriesDataset; import org.achartengine.model.XYSeries; import or
3、g.achartengine.renderer.DefaultRenderer; import org.achartengine.renderer.SimpleSeriesRenderer; import org.achartengine.renderer.XYMultipleSeriesRenderer; import org.achartengine.renderer.XYSeriesRenderer; public abstract class AbstractDemoChart implements IDemoChart /* * 构建 XYMultipleSeriesDataset.
4、 * * param titles 每个序列的图例 * param xValues X轴的坐标 * param yValues Y轴的坐标 * return XYMultipleSeriesDataset */ protected XYMultipleSeriesDataset buildDataset(String titles, List<double> xValues, List<double> yValues XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset(; addXYSeries(d
5、ataset, titles, xValues, yValues, 0; return dataset; /向DataSet中添加序列.public void addXYSeries(XYMultipleSeriesDataset dataset, String titles, List<double> xValues, List<double> yValues, int scale int length = titles.length; for (int i = 0; i < length; i+ XYSeries series = new XYSeries(t
6、itlesi, scale; /这里注意与TimeSeries区别. double xV = xValues.get(i; double yV = yValues.get(i; int seriesLength = xV.length; for (int k = 0; k < seriesLength; k+ series.add(xVk, yVk; dataset.addSeries(series; /* * 构建XYMultipleSeriesRenderer. * * param colors 每个序列的颜色 * param styles 每个序列点的类型(可设置三角,圆点,菱形,
7、方块等多种 * return XYMultipleSeriesRenderer */ protected XYMultipleSeriesRenderer buildRenderer(int colors, PointStyle styles XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer(; setRenderer(renderer, colors, styles; return renderer; protected void setRenderer(XYMultipleSeriesRenderer rend
8、erer, int colors, PointStyle styles /size size=3/整个图表属性设置 /->start renderer.setAxisTitleTextSize(16;/设置轴标题文字的大小 renderer.setChartTitleTextSize(40;/设置整个图表标题文字的大小 renderer.setLabelsTextSize(15;/设置轴刻度文字的大小 renderer.setLegendTextSize(15;/设置图例文字大小 renderer.setPointSize(5f;/设置点的大小(图上显示的点的大小和图例中点的大小都会被设
9、置 renderer.setMargins(new int 20, 30, 15, 20 ;/设置图表的外边框(上/左/下/右 /->end /以下代码设置没个序列的颜色. /->start int length = colors.length; for (int i = 0; i < length; i+ XYSeriesRenderer r = new XYSeriesRenderer(; r.setColor(colorsi;/设置颜色 r.setPointStyle(stylesi; renderer.addSeriesRenderer(r; /->end /*
10、 设置renderer的一些属性. * * param renderer 要设置的renderer * param title 图表标题 * param xTitle X轴标题 * param yTitle Y轴标题 * param xMin X轴最小值 * param xMax X轴最大值 * param yMin Y轴最小值 * param yMax Y轴最大值 * param axesColor X轴颜色 * param labelsColor Y轴颜色 */ protected void setChartSettings(XYMultipleSeriesRenderer rendere
11、r, String title, String xTitle, String yTitle, double xMin, double xMax, double yMin, double yMax, int axesColor, int labelsColor renderer.setChartTitle(title; renderer.setXTitle(xTitle; renderer.setYTitle(yTitle; renderer.setXAxisMin(xMin; renderer.setXAxisMax(xMax; renderer.setYAxisMin(yMin; rende
12、rer.setYAxisMax(yMax; renderer.setAxesColor(axesColor; renderer.setLabelsColor(labelsColor; /* 构建和时间有关的XYMultipleSeriesDataset,这个方法与buildDataset在参数上区别是需要List 作参数. * * param titles 序列图例 * param xValues X轴值 * param yValues Y轴值 * return XYMultipleSeriesDataset */ protected XYMultipleSeriesDataset build
13、DateDataset(String titles, List xValues, List<double> yValues XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset(; int length = titles.length; for (int i = 0; i < length; i+ TimeSeries series = new TimeSeries(titlesi;/构建时间序列TimeSeries, Date xV = xValues.get(i; double yV = yValues
14、.get(i; int seriesLength = xV.length; for (int k = 0; k < seriesLength; k+ series.add(xVk, yVk; dataset.addSeries(series; return dataset; /* * 构建单个CategorySeries,可用于生成饼图,注意与buildMultipleCategoryDataset(构建圆环图相区别. * * param titles the series titles * param values the values * return the category se
15、ries */ protected CategorySeries buildCategoryDataset(String title, double values CategorySeries series = new CategorySeries(title; int k = 0; for (double value : values series.add("Project " + +k, value; return series; /size size=3 /* 构建MultipleCategorySeries,可用于构建圆环图(每个环是一个序列 * * param t
16、itles the series titles * param values the values * return the category series */ protected MultipleCategorySeries buildMultipleCategoryDataset(String title, List titles, List< double> values MultipleCategorySeries series = new MultipleCategorySeries(title; int k = 0; for (double value : value
17、s series.add(2007 + k + "", titles.get(k, value; k+; return series; /* * 构建DefaultRenderer. * * param colors 每个序列的颜色 * return DefaultRenderer */ protected DefaultRenderer buildCategoryRenderer(int colors DefaultRenderer renderer = new DefaultRenderer(; renderer.setLabelsTextSize(15; render
18、er.setLegendTextSize(15; renderer.setMargins(new int 20, 30, 15, 0 ; for (int color : colors SimpleSeriesRenderer r = new SimpleSeriesRenderer(; r.setColor(color; renderer.addSeriesRenderer(r; return renderer; /* 构建XYMultipleSeriesDataset,适用于柱状图. * * param titles 每中柱子序列的图列 * param values 柱子的高度值 * re
19、turn XYMultipleSeriesDataset */ protected XYMultipleSeriesDataset buildBarDataset(String titles, List<double> values XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset(; int length = titles.length; for (int i = 0; i < length; i+ CategorySeries series = new CategorySeries(titlesi;
20、 double v = values.get(i; int seriesLength = v.length; for (int k = 0; k < seriesLength; k+ series.add(vk; dataset.addSeries(series.toXYSeries(; return dataset; /* 构建XYMultipleSeriesRenderer,适用于柱状图. * * param colors 每个序列的颜色 * return XYMultipleSeriesRenderer */ protected XYMultipleSeriesRenderer b
21、uildBarRenderer(int colors XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer(; renderer.setAxisTitleTextSize(16; renderer.setChartTitleTextSize(20; renderer.setLabelsTextSize(15; renderer.setLegendTextSize(15; int length = colors.length; for (int i = 0; i < length; i+ SimpleSeriesR
22、enderer r = new SimpleSeriesRenderer(; r.setColor(colorsi; renderer.addSeriesRenderer(r; return renderer; 4. 其他的以*Chat结尾的类大都继承自AbstractDemoChart这个类实现了接口IDemoChart.我们可以重点看一下execute(context方法,分析之后发现这个方法中构建Intent的步骤大同小异,第一步构建dataset,第二步构建renderer,第三步调用ChartFactory.get*Intent(方法或ChartFactory.get*View(方法
23、,二者的区别在于一个返回Intent,这个intent可以启动一个特定的activity,另一个返回GraphicalView,对这个GraphicalView可以灵活设置也可以仅作为一部分显示在任何activity上.对于ChartFactory.get*Intent(上的参数activityTitle是指设置显示在activity上的标题.条形图static android.content.IntentgetBarChartIntent(android.content.Context context,XYMultipleSeriesDataset dataset, XYMultipleSe
24、riesRenderer renderer,BarChart.Type type条形图static android.content.IntentgetBarChartIntent(android.content.Context context,XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer,BarChart.Type type, java.lang.String activityTitle条形图static GraphicalViewgetBarChartView(android.content.Contex
25、t context,XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer,BarChart.Typetype气泡图static android.content.IntentgetBubbleChartIntent(android.content.Context context,XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer气泡图static android.content.IntentgetBubbleChartIntent(an
26、droid.content.Context context,XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer, java.lang.String activityTitle气泡图static GraphicalViewgetBubbleChartView(android.content.Context context,XYMultipleSeriesDataset dataset, XYMultipleSeriesRendererrenderer组合图static android.content.Intentg
27、etCombinedXYChartIntent(android.content.Context context,XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer, java.lang.String types, java.lang.String activityTitle组合图static GraphicalViewgetCombinedXYChartView(android.content.Context context,XYMultipleSeriesDataset dataset, XYMultipleS
28、eriesRenderer renderer, java.lang.String types立方折线图static GraphicalViewgetCubeLineChartView(android.content.Context context,XYMultipleSeriesDatasetdataset, XYMultipleSeriesRendererrenderer, float smoothness立方折线图static android.content.IntentgetCubicLineChartIntent(android.content.Context context,XYMu
29、ltipleSeriesDataset dataset, XYMultipleSeriesRendererrenderer, float smoothness立方折线图static android.content.IntentgetCubicLineChartIntent(android.content.Context context,XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer, float smoothness, java.lang.String activityTitle拨号盘static andro
30、id.content.IntentgetDialChartIntent(android.content.Context context,CategorySeries dataset, DialRenderer renderer, java.lang.String activityTitle拨号盘static GraphicalViewgetDialChartView(android.content.Context context, CategorySeries dataset,DialRenderer renderer圆环图static android.content.IntentgetDou
31、ghnutChartIntent(android.content.Context context,MultipleCategorySeries dataset, DefaultRenderer renderer, java.lang.String activityTitle圆环图static GraphicalViewgetDoughnutChartView(android.content.Context context,MultipleCategorySeries dataset, DefaultRenderer renderer圆环图static android.content.Inten
32、tgetLineChartIntent(android.content.Context context,XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer折线图static android.content.IntentgetLineChartIntent(android.content.Context context,XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer, java.lang.String activityTitle折
33、线图static GraphicalViewgetLineChartView(android.content.Context context,XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer饼图static android.content.IntentgetPieChartIntent(android.content.Context context, CategorySeries dataset,DefaultRenderer renderer, java.lang.String activityTitle饼图
34、static GraphicalViewgetPieChartView(android.content.Context context, CategorySeries dataset,DefaultRenderer renderer范围条形图static android.content.IntentgetRangeBarChartIntent(android.content.Context context,XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer,BarChart.Type type, java.lang.String activityTitle范围条形图static GraphicalViewgetRangeBarChar
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 仓储货物出库合同范例
- 出让国土转让合同范例
- 减员合同范例
- 下门单间出租合同范例
- 净化车间整改合同范例
- 2025-2030年仿皮革成型沙袋项目商业计划书
- 2025-2030年乙炔开关项目投资价值分析报告
- 2025-2030年不锈钢移动密集柜项目投资价值分析报告
- 2025-2030年万圣节饰品项目投资价值分析报告
- 2025-2030年一体化大功率节能灯项目投资价值分析报告
- 应用文写作-第四章公务文书(请示报告)课件
- Premiere-视频剪辑操作-课件
- PDCA降低I类切口感染发生率
- 麻醉药理学阿片类镇痛药PPT
- 新湘版小学科学四年级下册教案(全册)
- 食品生产企业落实主体责任培训
- 药铺微信宣传方案
- 宿舍楼消防火灾应急疏散预案与宿舍消防安全管理制度
- 外研版(一起)英语二年级下册 Module4Unit2 What’s he doing 教案
- 《红楼梦》专题(文化)
- 三级妇幼保健院评审标准实施细则(保健院正确发展方向)
评论
0/150
提交评论