Android图表库MPAndroidChart十三简约的底部柱状图.docx
- 文档编号:6227820
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:12
- 大小:83.19KB
Android图表库MPAndroidChart十三简约的底部柱状图.docx
《Android图表库MPAndroidChart十三简约的底部柱状图.docx》由会员分享,可在线阅读,更多相关《Android图表库MPAndroidChart十三简约的底部柱状图.docx(12页珍藏版)》请在冰豆网上搜索。
Android图表库MPAndroidChart十三简约的底部柱状图
Android图表库MPAndroidChart(十三)——简约的底部柱状图
我们继续上一讲,今天还是说下柱状图,这个图的话应该是用的比较多的,所有拿出来溜溜,先看下效果
我们还是来看下基本实现
一.基本实现
大家猜下,我们用哪个View来做比较好?
android: id="@+id/mBarChart" android: layout_width="match_parent" android: layout_height="0dp" android: layout_weight="1"/> 继续用BarChart,那我们来做初始化的动作 mBarChart.getDescription().setEnabled(false); mBarChart.setMaxVisibleValueCount(60); mBarChart.setPinchZoom(false); mBarChart.setDrawBarShadow(false); mBarChart.setDrawGridBackground(false); XAxisxAxis=mBarChart.getXAxis(); xAxis.setPosition(XAxis.XAxisPosition.BOTTOM); xAxis.setDrawGridLines(false); mBarChart.getAxisLeft().setDrawGridLines(false); mBarChart.animateY(2500); mBarChart.getLegend().setEnabled(false); 这个初始化我实际上并没有设置什么特殊的属性,然后设置数据 //设置数据 privatevoidsetData(){ ArrayList for(inti=0;i<10;i++){ floatmult=50; floatval=(float)(Math.random()*mult)+mult/3; yVals1.add(newBarEntry(i,val)); } BarDataSetset1; if(mBarChart.getData()! =null&& mBarChart.getData().getDataSetCount()>0){ set1=(BarDataSet)mBarChart.getData().getDataSetByIndex(0); set1.setValues(yVals1); mBarChart.getData().notifyDataChanged(); mBarChart.notifyDataSetChanged(); }else{ set1=newBarDataSet(yVals1,"日期设置"); //设置多彩也可以单一颜色 set1.setColors(ColorTemplate.VORDIPLOM_COLORS); set1.setDrawValues(false); ArrayList dataSets.add(set1); BarDatadata=newBarData(dataSets); mBarChart.setData(data); mBarChart.setFitBars(true); } mBarChart.invalidate(); } 在设置数据方面我也只是设置了多彩的颜色,这样就能实现我们上图的效果了,这个也算是一个比较简单的图表了 二.显示顶点值 好,基本功能都差不多,那我们来看下全部代码 activity_another.xml xmlversion="1.0"encoding="utf-8"? > xmlns: android=" android: layout_width="match_parent" android: layout_height="match_parent" android: orientation="vertical"> android: id="@+id/mBarChart" android: layout_width="match_parent" android: layout_height="0dp" android: layout_weight="1"/> android: layout_width="match_parent" android: layout_height="wrap_content" android: orientation="horizontal"> android: layout_width="match_parent" android: layout_height="wrap_content" android: orientation="horizontal"> android: id="@+id/btn_save_pic" android: layout_width="wrap_content" android: layout_height="wrap_content" android: text="保存到相册"/> android: id="@+id/btn_auto_mix_max" android: layout_width="wrap_content" android: layout_height="wrap_content" android: text="自动最大最小值"/> android: id="@+id/btn_actionToggleHighlight" android: layout_width="wrap_content" android: layout_height="wrap_content" android: text="高亮显示"/> android: id="@+id/btn_show_border" android: layout_width="wrap_content" android: layout_height="wrap_content" android: text="显示边框"/> AnotherBarActivity publicclassAnotherBarActivityextendsBaseActivityimplementsView.OnClickListener{ privateBarChartmBarChart; //显示顶点值 privateButtonbtn_show_values; //x轴动画 privateButtonbtn_anim_x; //y轴动画 privateButtonbtn_anim_y; //xy轴动画 privateButtonbtn_anim_xy; //保存到sd卡 privateButtonbtn_save_pic; //切换自动最大最小值 privateButtonbtn_auto_mix_max; //高亮显示 privateButtonbtn_actionToggleHighlight; //显示边框 privateButtonbtn_show_border; @Override protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_another); initView(); } //初始化 privatevoidinitView(){ //基本控件 btn_show_values=(Button)findViewById(R.id.btn_show_values); btn_show_values.setOnClickListener(this); btn_anim_x=(Button)findViewById(R.id.btn_anim_x); btn_anim_x.setOnClickListener(this); btn_anim_y=(Button)findViewById(R.id.btn_anim_y); btn_anim_y.setOnClickListener(this); btn_anim_xy=(Button)findViewById(R.id.btn_anim_xy); btn_anim_xy.setOnClickListener(this); btn_save_pic=(Button)findViewById(R.id.btn_save_pic); btn_save_pic.setOnClickListener(this); btn_auto_mix_max=(Button)findViewById(R.id.btn_auto_mix_max); btn_auto_mix_max.setOnClickListener(this); btn_actionToggleHighlight=(Button)findViewById(R.id.btn_actionToggleHighlight); btn_actionToggleHighlight.setOnClickListener(this); btn_show_border=(Button)findViewById(R.id.btn_show_border); btn_show_border.setOnClickListener(this); mBarChart=(BarChart)findViewById(R.id.mBarChart); mBarChart.getDescription().setEnabled(false); mBarChart.setMaxVisibleValueCount(60); mBarChart.setPnchZoom(false); mBarChart.setDrawBarShadow(false); mBarChart.setDrawGridBackground(false); XAxisxAxis=mBarChart.getXAxis(); xAxis.setPosition(XAxis.XAxisPosition.BOTTOM); xAxis.setDrawGridLines(false); mBarChart.getAxisLeft().setDrawGridLines(false); mBarChart.animateY(2500); mBarChart.getLegend().setEnabled(false); setData(); } //设置数据 privatevoidsetData(){ ArrayList for(inti=0;i<10;i++){ floatmult=50; floatval=(float)(Math.random()*mult)+mult/3; yVals1.add(newBarEntry(i,val)); } BarDataSetset1; if(mBarChart.getData()! =null&& mBarChart.getData().getDataSetCount()>0){ set1=(BarDataSet)mBarChart.getData().getDataSetByIndex(0); set1.setValues(yVals1); mBarChart.getData().notifyDataChanged(); mBarChart.notifyDataSetChanged(); }else{ set1=newBarDataSet(yVals1,"日期设置"); //设置多彩也可以单一颜色 set1.setColors(ColorTemplate.VORDIPLOM_COLORS); set1.setDrawValues(false); ArrayList dataSets.add(set1); BarDatadata=newBarData(dataSets); mBarChart.setData(data); mBarChart.setFitBars(true); } mBarChart.invalidate(); } @Override publicvoidonClick(Viewv){ switch(v.getId()){ //显示顶点值 caseR.id.btn_show_values: for(IDataSetset: mBarChart.getData().getDataSets()) set.setDrawValues(! set.isDrawValuesEnabled()); mBarChart.invalidate(); break; //x轴动画 caseR.id.btn_anim_x: mBarChart.animateX(3000); break; //y轴动画 caseR.id.btn_anim_y: mBarChart.animateY(3000); break; //xy轴动画 caseR.id.btn_anim_xy: mBarChart.animateXY(3000,3000); break; //保存到sd卡 caseR.id.btn_save_pic: if(mBarChart.saveToGallery("title"+System.currentTimeMillis(),50)){ Toast.makeText(getApplicationContext(),"保存成功", Toast.LENGTH_SHORT).show(); }else Toast.makeText(getApplicationContext(),"保存失败", Toast.LENGTH_SHORT).show(); break; //切换自动最大最小值 caseR.id.btn_auto_mix_max: mBarChart.setAutoScaleMinMaxEnabled(! mBarChart.isAutoScaleMinMaxEnabled()); mBarChart.notifyDataSetChanged(); break; //高亮显示 caseR.id.btn_actionToggleHighlight: if(mBarChart.getData()! =null){ mBarChart.getData().setHighlightEnabled( ! mBarChart.getData().isHighlightEnabled()); mBarChart.invalidate(); } break; //显示边框 caseR.id.btn_show_border: for(IBarDataSetset: mBarChart.getData().getDataSets()) ((BarDataSet)set).setBarBorderWidth(set.getBarBorderWidth()==1.f? 0.f: 1.f); mBarChart.invalidate(); break; } } } OK,这样这个图表就大功告成了
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 图表 MPAndroidChart 十三 简约 底部 柱状图
![提示](https://static.bdocx.com/images/bang_tan.gif)