AchartEngine折线图

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值