AchartEngine折线图

来源:互联网 发布:关于人工智能ai的电影 编辑:程序博客网 时间:2024/04/28 10:07
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>
0 0
原创粉丝点击