Android图表库MPAndroidChart(十三) - 简约的底部柱状图
更新时间:2023-03-11 06:59:01 阅读量: 教育文库 文档下载
- android 图表控件推荐度:
- 相关推荐
Android图表库MPAndroidChart(十三)
——简约的底部柱状图
我们继续上一讲,今天还是说下柱状图,这个图的话应该是用的比较多的,所有拿出来溜溜,先看下效果
我们还是来看下基本实现 一.基本实现
大家猜下,我们用哪个View来做比较好?
android:layout_width=\ android:layout_height=\ android:layout_weight=\ 继续用BarChart,那我们来做初始化的动作 mBarChart.getDescription().setEnabled(false); mBarChart.setMaxVisibleValueCount(60); mBarChart.setPinchZoom(false); mBarChart.setDrawBarShadow(false); mBarChart.setDrawGridBackground(false); XAxis xAxis = mBarChart.getXAxis(); xAxis.setPosition(XAxis.XAxisPosition.BOTTOM); xAxis.setDrawGridLines(false); mBarChart.getAxisLeft().setDrawGridLines(false); mBarChart.animateY(2500); mBarChart.getLegend().setEnabled(false); 这个初始化我实际上并没有设置什么特殊的属性,然后设置数据 //设置数据 private void setData() { ArrayList for (int i = 0; i < 10; i++) { float mult = 50; float val = (float) (Math.random() * mult) + mult / 3; yVals1.add(new BarEntry(i, val)); } BarDataSet set1; if (mBarChart.getData() != null && mBarChart.getData().getDataSetCount() > 0) { set1 = (BarDataSet) mBarChart.getData().getDataSetByIndex(0); set1.setValues(yVals1); mBarChart.getData().notifyDataChanged(); mBarChart.notifyDataSetChanged(); } else { set1 = new BarDataSet(yVals1, \日期设置\ //设置多彩 也可以单一颜色 set1.setColors(ColorTemplate.VORDIPLOM_COLORS); set1.setDrawValues(false); ArrayList BarData data = new BarData(dataSets); mBarChart.setData(data); mBarChart.setFitBars(true); } mBarChart.invalidate(); } 在设置数据方面我也只是设置了多彩的颜色,这样就能实现我们上图的效果了,这个也算是一个比较简单的图表了 二.显示顶点值 好,基本功能都差不多,那我们来看下全部代码 activity_another.xml xmlns:android=\ android:layout_width=\ android:layout_height=\ android:orientation=\ android:layout_width=\ android:layout_height=\ android:layout_weight=\ android:layout_width=\ android:layout_height=\ android:orientation=\ android:layout_width=\ android:layout_height=\ android:orientation=\ android:id=\ android:layout_width=\ android:layout_height=\ android:text=\保存到相册\ android:id=\ android:layout_width=\ android:layout_height=\ android:text=\自动最大最小值\ android:id=\ android:layout_width=\ android:layout_height=\ android:text=\高亮显示\ android:id=\ android:layout_width=\ android:layout_height=\ android:text=\显示边框\ AnotherBarActivity public class AnotherBarActivity extends BaseActivity implements View.OnClickListener { private BarChart mBarChart; //显示顶点值 private Button btn_show_values; //x轴动画 private Button btn_anim_x; //y轴动画 private Button btn_anim_y; //xy轴动画 private Button btn_anim_xy; //保存到sd卡 private Button btn_save_pic; //切换自动最大最小值 private Button btn_auto_mix_max; //高亮显示 private Button btn_actionToggleHighlight; //显示边框 private Button btn_show_border; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_another); initView(); } //初始化 private void initView() { //基本控件 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 = 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.setPiwww.shanxiwang.netnchZoom(false); mBarChart.setDrawBarShadow(false); mBarChart.setDrawGridBackground(false); XAxis xAxis = mBarChart.getXAxis(); xAxis.setPosition(XAxis.XAxisPosition.BOTTOM); xAxis.setDrawGridLines(false); mBarChart.getAxisLeft().setDrawGridLines(false); mBarChart.animateY(2500); mBarChart.getLegend().setEnabled(false); setData(); } //设置数据 private void setData() { ArrayList for (int i = 0; i < 10; i++) { (Button) float mult = 50; float val = (float) (Math.random() * mult) + mult / 3; yVals1.add(new BarEntry(i, val)); } BarDataSet set1; if (mBarChart.getData() != null && mBarChart.getData().getDataSetCount() > 0) { set1 = (BarDataSet) mBarChart.getData().getDataSetByIndex(0); set1.setValues(yVals1); mBarChart.getData().notifyDataChanged(); mBarChart.notifyDataSetChanged(); } else { set1 = new BarDataSet(yVals1, \日期设置\ //设置多彩 也可以单一颜色 set1.setColors(ColorTemplate.VORDIPLOM_COLORS); set1.setDrawValues(false); ArrayList BarData data = new BarData(dataSets); mBarChart.setData(data); mBarChart.setFitBars(true); } mBarChart.invalidate(); } @Override public void onClick(View v) { switch (v.getId()) { //显示顶点值 case R.id.btn_show_values: for (IDataSet set : mBarChart.getData().getDataSets()) set.setDrawValues(!set.isDrawValuesEnabled()); mBarChart.invalidate(); break; //x轴动画 case R.id.btn_anim_x: mBarChart.animateX(3000); break; //y轴动画 case R.id.btn_anim_y: mBarChart.animateY(3000); break; //xy轴动画 case R.id.btn_anim_xy: mBarChart.animateXY(3000, 3000); break; //保存到sd卡 case R.id.btn_save_pic: if (mBarChart.saveToGallery(\+ System.currentTimeMillis(), 50)) { Toast.makeText(getApplicationContext(), \保存成功\ Toast.LENGTH_SHORT).show(); } else Toast.makeText(getApplicationContext(), \保存失败\ Toast.LENGTH_SHORT).show(); break; //切换自动最大最小值 case R.id.btn_auto_mix_max: mBarChart.setAutoScaleMinMaxEnabled(!mBarChart.isAutoScaleMinMaxEnabled()); mBarChart.notifyDataSetChanged(); break; //高亮显示 case R.id.btn_actionToggleHighlight: if (mBarChart.getData() != null) { mBarChart.getData().setHighlightEnabled( !mBarChart.getData().isHighlightEnabled()); mBarChart.invalidate(); } break; //显示边框 case R.id.btn_show_border: for (IBarDataSet set : mBarChart.getData().getDataSets()) ((BarDataSet) set).setBarBorderWidth(set.getBarBorderWidth() == 1.f ? 0.f : 1.f); mBarChart.invalidate(); break; } } } OK,这样这个图表就大功告成了
正在阅读:
Android图表库MPAndroidChart(十三) - 简约的底部柱状图03-11
亲情之深作文800字06-29
第七批“国家新型工业化产业示范基地”名单11-16
2019届高三二轮复习语文专题强化卷:专题九 古代诗歌鉴赏(表达05-21
浙江师范大学《EDA技术》试题10-03
建设工程安全生产技术试题(土建类)04-27
台湾企业IPO计划08-11
中职《职业生涯规划》期末考核(带答案)05-25
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 柱状
- MPAndroidChart
- 图表
- 底部
- 简约
- Android
- 十三
- 2014年甘肃公务员考试申论练习题(12)
- 2010版本核电子学实验讲义 - 图文
- 2018-2019-党委书记2018年上半年抓基层党建工作述职报告
- Jordan标准型在求解线性微分方程组的应用
- 上海市城市道路交叉口设计规程
- 图书设计排版合同
- 学校校园安全卫生监督员职责
- 苏教版四年级下册数学期末复习题(易错题)
- 管理会计学习指导、习题与案例 - 单祖明
- 农村生活污水治理设施运行维护管理办法
- 幼儿园大班语言《男孩和女孩》优质课教案比赛公开课获奖教案教师资格证面试试讲教案
- 中国太阳能热水行业调研报告(一) - 图文
- 酿酒工艺学复习思考题
- 二等精密水准测量记录手薄
- 新视野视听说第三版测试题1
- 教科版二年级品德与生活上册教案
- 乡镇人大换届选举办法
- 改装涡轮大小获得终极动力提升
- 高支模专项方案
- 基于PBL的电子信息专业基础课程教学设计研究