android使用MPAndroidChart开源图表折线图_第1张图片



1. 将mpandroidchartlibrary-2-1-6.ja包copy到项目的libs中在引用


2:布局文件

 


3:后台代码

public class OilReportformsFragment extends Fragment{@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {// TODO Auto-generated method stub//return super.onCreateView(inflater, container, savedInstanceState);return inflater.inflate(R.layout.oilreportforms, container, false);}@Overridepublic void onActivityCreated(Bundle savedInstanceState) {// TODO Auto-generated method stub//getActivity().getActionBar().setDisplayHomeAsUpEnabled(true); super.onActivityCreated(savedInstanceState);LineChart  mChart = (LineChart)getActivity().findViewById(R.id.chart1);mChart.setDescription("");mChart.setDrawGridBackground(false);                ///ajmChart.setTouchEnabled(true);mChart.setDragEnabled(true);mChart.setScaleEnabled(true);        Typeface mTf = Typeface.createFromAsset(getActivity().getApplicationContext().getAssets(), "OpenSans-Regular.ttf");                XAxis xAxis = mChart.getXAxis();        xAxis.setPosition(XAxisPosition.BOTTOM);        xAxis.setTypeface(mTf);        xAxis.setDrawGridLines(false);        xAxis.setDrawAxisLine(true);        YAxis leftAxis = mChart.getAxisLeft();        leftAxis.setTypeface(mTf);        leftAxis.setLabelCount(5, false);                YAxis rightAxis = mChart.getAxisRight();        rightAxis.setTypeface(mTf);        rightAxis.setLabelCount(5, false);        rightAxis.setDrawGridLines(false);        // set data        mChart.setData((LineData)generateDataLine(1));        // do not forget to refresh the chart        // holder.chart.invalidate();        mChart.animateX(750);} private LineData generateDataLine(int cnt) {        ArrayList e1 = new ArrayList();                for (int i = 0; i < 12; i++) {            e1.add(new Entry((int) (Math.random() * 65), i));        }               LineDataSet d1 = new LineDataSet(e1, "New DataSet " + cnt + ", (1)");        /*   d1.setLineWidth(2.5f);        d1.setCircleSize(4.5f);*/                d1.setLineWidth(2.5f);        d1.setCircleSize(5.5f);//折线的圆点大小        d1.setHighLightColor(Color.rgb(244, 117, 117));        d1.setDrawValues(true);                ArrayList e2 = new ArrayList();        for (int i = 0; i < 12; i++) {            e2.add(new Entry(e1.get(i).getVal() - 30, i));        }                ArrayList sets = new ArrayList();        sets.add(d1);                //这个图标坐标显示对应的坐标是按照顺序对应的,第一个y对应第一个x,这么来的        ArrayList m = new ArrayList();        m.add("9:00:37");        m.add("9:30:28");        m.add("10:00");        m.add("10:30");        m.add("May");        m.add("Jun");        m.add("12:00:59");        m.add("Aug");        m.add("Sep");        m.add("Okt");        m.add("Nov");        m.add("Dec");                        LineData cd = new LineData(m, sets);        return cd;    }@Overridepublic void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setHasOptionsMenu(true);//添加菜单不调用该方法是没有用的}public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {// TODO Auto-generated method stubmenu.clear();    inflater.inflate(R.menu.backaj, menu);                  super.onCreateOptionsMenu(menu, inflater);}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {  if(item.getItemId() == android.R.id.home){ getActivity().getActionBar().setDisplayHomeAsUpEnabled(false); MainActivity mc =(MainActivity)getActivity();mc.switchContent(this,getActivity().getSupportFragmentManager().findFragmentByTag("more"),"");}if(item.getItemId() == R.id.action_back){ MainActivity mc =(MainActivity)getActivity();mc.switchContent(this,getActivity().getSupportFragmentManager().findFragmentByTag("more"),"");}    return true;} }



4:常见异常处理

Typeface mTf = Typeface.createFromAsset(getActivity().getApplicationContext().getAssets(), "OpenSans-Regular.ttf");

java.lang.RuntimeException: native typeface cannot be made

需要把对应的文件复制到assets目录里边不然找不到这里的文件是OpenSans-Regular.ttf


5:mpandroidchart开源git地址

https://github.com/PhilJay/MPAndroidChart

git文档

https://github.com/PhilJay/MPAndroidChart/wiki


6:android mpandroidchart 设置y抽不从0开始,让y轴更具坐标自适应

YAxis yal =mChart.getAxisLeft();yal.setStartAtZero(false);YAxis yar =mChart.getAxisRight();yar.setStartAtZero(false);






更多相关文章

  1. android 将资源文件复制到android系统中去 raw assert
  2. android打开文件方法
  3. android用代码获取布局文件
  4. 清除Mac中Android studio的配置文件
  5. Android读取assests目录下文件
  6. android 资源文件
  7. Android将获取到文件的uri转换为字符串的路径

随机推荐

  1. Android中的ANR异常如何分析又该怎么去避
  2. Android设置TextView显示指定个数字符,超
  3. Android(安卓)Handler使用
  4. Android(安卓)动态库反汇编
  5. WebView高度自适应方案探究
  6. 【Android】实现全屏、无标题栏效果
  7. android eclipse 真机调试
  8. android 中管理短信
  9. android - 为响应度而设计 - 开发文档翻
  10. Android(安卓)Service生命周期及用法