AchartEngine折线图
2016-05-26 11:41
295 查看
package com.zuqiuyu.heartrate; import android.app.Activity; import android.content.SharedPreferences; import android.graphics.Color; import android.graphics.Paint; import android.os.Bundle; import android.view.ViewGroup.LayoutParams; import android.widget.RelativeLayout; import android.widget.TextView; import com.zuqiuyu.heartrate.data.IOtxt; import com.zuqiuyu.heartrate.utils.CONST; import org.achartengine.ChartFactory; import org.achartengine.GraphicalView; import org.achartengine.chart.PointStyle; import org.achartengine.model.XYMultipleSeriesDataset; import org.achartengine.model.XYSeries; import org.achartengine.renderer.XYMultipleSeriesRenderer; import org.achartengine.renderer.XYSeriesRenderer; public class RecordChartActivity extends Activity { public static SharedPreferences sharedPreferences; public static SharedPreferences.Editor editor; private RelativeLayout static_chart_line_layout; private String title = "ECG"; public static int y[]; // 用于存放每条折线的点数据 // 用于存放所有需要绘制的XYSeries // 用于存放每条折线的风格 private GraphicalView chart; public static TextView tvRecordHR; public static String time; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_record_chart); static_chart_line_layout = (RelativeLayout) findViewById(R.id.static_chart_line_layout); initChart(); sharedPreferences = MainActivity.sharedPreferences; editor = MainActivity.editor; tvRecordHR.setText("您的心率为"+sharedPreferences.getString(time, "")+"bpm"); } private void initChart() { chart = ChartFactory.getLineChartView(this, getDataset(), getRender()); tvRecordHR = (TextView) findViewById(R.id.tvRecordHR); static_chart_line_layout.addView(chart, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); } private XYMultipleSeriesDataset getDataset() { XYMultipleSeriesDataset mDataset = new XYMultipleSeriesDataset(); XYSeries series = new XYSeries("折线"); for (int i = 0;i<y.length;i++) series.add(i,y[i]); mDataset.addSeries(series); return mDataset; } public XYMultipleSeriesRenderer getRender(){ XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer(); //设置图表中曲线本身的样式,包括颜色、点的大小以及线的粗细等 XYSeriesRenderer r = new XYSeriesRenderer(); r.setColor(Color.RED); r.setPointStyle(PointStyle.POINT); r.setFillPoints(true); r.setLineWidth(3); renderer.addSeriesRenderer(r); renderer.setChartTitle(title); renderer.setXTitle("x"); renderer.setYTitle("y"); renderer.setXAxisMin(0); renderer.setXAxisMax(1000); renderer.setYAxisMin(0); renderer.setYAxisMax(200); renderer.setAxesColor(Color.GREEN); renderer.setLabelsColor(Color.GRAY); renderer.setShowGrid(true); renderer.setGridColor(Color.GREEN); renderer.setXLabels(40); renderer.setYLabels(20); renderer.setLabelsTextSize(15); renderer.setPanEnabled(true,false);//设置X,Y轴是否被拖动 renderer.setPanLimits(new double[]{0,1000000,0,0}); //设置拖动范围 renderer.setXTitle("时间(ms)"); renderer.setYTitle("电压(mv)"); renderer.setYLabelsAlign(Paint.Align.RIGHT); renderer.setPointSize((float) 2); renderer.setShowLabels(false); //设置是否显示坐标轴 renderer.setShowLegend(false); return renderer; } }
xml文件
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.zuqiuyu.heartrate.RecordChartActivity"> <RelativeLayout android:background="#ff000000" android:id="@+id/static_chart_line_layout" android:layout_weight="5" android:layout_width="match_parent" android:layout_height="0dp"></RelativeLayout> <LinearLayout android:layout_weight="1" android:layout_width="match_parent" android:layout_height="0dp"> <TextView android:gravity="center" android:text="" android:id="@+id/tvRecordHR" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout> </LinearLayout>
相关文章推荐
- C#中随机分组相关Test
- iOS开发——keychain的使用
- JAVA集合框架
- Unity3D实现3D立体游戏原理及过程
- ashx页面中context.Session["xxx"]获取不到值的解决办法
- 按GB 11643标准对大陆身份证号码分析验证
- spawnp()--Spawn Process with Path
- Android Service最全面的解析
- implicit declaration of function 'copy_from_user'
- js报错:Ajax 中onreadystatechange在ie7及以上浏览器兼容吗,为什么没有反应?求大神
- Sublime Text 3 的一些个人配置
- HTML特殊符号
- 点击图片变大
- Hadoop机器运行一段时间后hadoop不能stop-all.sh的问题
- 打包文档
- Hexo搭建独立博客,托管到Github和Coding
- JAVA - hashcode与equals作用、关系
- 回文字符串-动态规划
- iOS开发之计时器
- poj 2502最短路subway