Android(安卓)MPAndroidChart--使用柱状图
16lz
2022-01-08
前言
2021-4-16 记录今天学习的内容
以下是本篇文章正文内容,下面案例可供参考
一、MpAndroidChart是什么?
MpAndroidChart是基于Android的开源图表库,它能够实现很多常用的图表类型.如线性图,饼图,柱状图和散点图.它还提供了一些对图表的操作功能,如:拖拽,缩放,显示动画效果等.
文档地址: https://github.com/PhilJay/MPAndroidChart
实现效果
二、导入依赖
1.在根文件目录下引入
代码如下(示例):
maven{ url 'https://jitpack.io'}
2.在APP目录下导入依赖
代码如下(示例):
implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'
二、正文
代码如下(示例):
private void initBarChart() { //没有数据显示这里面的 mBarChart.setNoDataText("没有数据哦"); // 设置是否可以缩放 mBarChart.setScaleEnabled(false); //设置双击不放大 mBarChart.setDoubleTapToZoomEnabled(false); //设置控件之间的间距 mBarChart.setExtraOffsets(20,20,20,20); //获取XAxis 获取XAxis setDrawGridLines:设置绘图网格线 mBarChart.getXAxis().setDrawGridLines(false); //获取描述,是否显示右下角描述 mBarChart.getDescription().setEnabled(false); //获取图例,是否显示图例 mBarChart.getLegend().setEnabled(false); // 设置执行的动画,XY轴 mBarChart.animateXY(2500,2500); //设置倾斜角度 setLabelRotationAngle:设置旋转角度// mBarChart.getXAxis().setLabelRotationAngle(-30); //获取X轴 XAxis xAxis = mBarChart.getXAxis(); //设置X轴的位置 xAxis.setPosition(XAxis.XAxisPosition.BOTTOM); //设置X轴min数值 xAxis.setAxisMinimum(0f); //设置X轴Max数值 xAxis.setAxisMaximum(list.size()); //设置可视范围,0-5,可以防止X轴数据过长导致遮挡其他X轴数据 mBarChart.setVisibleXRange(0,5); //设置X轴最大范围 xAxis.setLabelCount(list.size()); //使得左边柱子完全显示 xAxis.setAxisMinimum(0.5f); //不绘制格网线// xAxis.setDrawGridLines(false); //设置与顶部的距离// mBarChart.setExtraTopOffset(30); //设置最小间隔,防止当放大时,出现重复标签。 xAxis.setGranularity(1); //设置x轴显示的值 xAxis.setValueFormatter(new ValueFormatter() { @Override public String getFormattedValue(float value) { //判断value的值是否小于数组长度 if((int)value<list.size()){ return list.get((int)value).getName(); }else{ return ""; } } }); //设置X轴标签与Y轴的间距 xAxis.setYOffset(10); //设置y轴,y轴有两条,分别是左边和右边,右边一边不常用可以隐藏 //获取右边的y轴 YAxis axisRight = mBarChart.getAxisRight(); //将右边的y轴设置为不显示 axisRight.setEnabled(false); //获取左边的y轴 YAxis axisLeft = mBarChart.getAxisLeft(); //设置y轴最大值 axisLeft.setAxisMaximum(40f); //设置y轴最低值 axisLeft.setAxisMinimum(0f); //设置y标签字体大小 axisLeft.setTextSize(15f); //设置BarEntry集合,用来存放柱状图的数值 List<BarEntry>barEntries = new ArrayList<>(); for (int i = 0; i < list.size(); i++) { barEntries.add(new BarEntry(i,Float.parseFloat(list.get(i).getReward()))); } //将数据添加到BarDataSet中, BarDataSet barDataSet1 = new BarDataSet(barEntries,""); //柱状图数值颜色 barDataSet1.setValueTextColor(Color.RED); //柱状图数值的大小(文字大小) barDataSet1.setValueTextSize(15f); //柱状图对应的颜色 barDataSet1.setColor(Color.parseColor("#03A9F4")); BarData barData = new BarData(barDataSet1); //设置柱子的宽度 barData.setBarWidth(0.3f); //将数据添加到组件中 mBarChart.setData(barData); //刷新图表, mBarChart.invalidate(); }
xxxx.xml代码:
<com.github.mikephil.charting.charts.BarChart android:id="@+id/record_barchart" android:layout_marginTop="10dp" android:layout_width="match_parent" android:layout_height="match_parent" />
总结
以上就是今天要讲的内容,本文仅仅简单介绍了MpAndroidChart绘制柱状图,而MpAndroidChart提供了图表的操作功能.更多相关文章
- 你还在问android横竖屏切换的生命周期?
- Android应用开发提高系列(5)――Android动态加载(下)――加载已安装A
- Android7.0文件读写(获取拍照结果)笔记
- android绘图
- Android利用DownloadManager实现文件下载
- Android生命周期中几个重要的函数
- Android实现EditView获取焦点但不弹出软键盘
- Mac下获取Android(安卓)SHA1·针对才搭建了Mac环境
- Android(安卓)TextView属性详解