AndroidMPChart的获取

依赖:

Project 的build.gradle文件中添加

allprojects {repositories {maven { url 'https://jitpack.io' }}
}

然后在 module中的build,gradle 中添加

implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3'

布局文件:

 <com.github.mikephil.charting.charts.BarChartandroid:id="@+id/full_barChart"android:layout_width="match_parent"android:layout_height="wrap_content"/>

初始化BarChart:

  //清除历史设置barChart.clear();//无数据时的显示文本barChart.setNoDataText("暂无内容");//无数据时设置数据为空barChart.setData(null);//设置是否缩放barChart.setScaleEnabled(false);/** 图表设置* *///背景颜色barChart.setBackgroundColor(Color.WHITE);//是否显示图表网格barChart.setDrawGridBackground(false);//是否显示背景阴影barChart.setDrawBarShadow(false);//设置是否高亮显示barChart.setHighlightFullBarEnabled(false);//设置是否显示描述barChart.getDescription().setEnabled(false);//设置是否显示边框barChart.setDrawBorders(false);//设置动画效果barChart.animateY(1000, Easing.EasingOption.Linear);barChart.animateX(1000, Easing.EasingOption.Linear);/*XY轴的设置*///x轴设置显示位置在底部XAxis xAxis = barChart.getXAxis();xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);//第一个参数是X轴坐标的个数,第二个参数是 是否不均匀分布,true是不均匀分布xAxis.setLabelCount(2, false);//不显示网格线xAxis.setDrawGridLines(false);//不显示轴线xAxis.setDrawAxisLine(false);//设置为true当一个页面显示条目过多,X轴值隔一个显示一个xAxis.setGranularityEnabled(true);//设置最小间隔,防止当放大时,出现重复标签。xAxis.setGranularity(1f);//设置滑动//一个界面最少显示多少个点barChart.setVisibleXRangeMinimum(0);//一个界面最大显示多少个点,其余滑动显示barChart.setVisibleXRangeMaximum(6);//自定义x轴标签xAxis.setValueFormatter(new IAxisValueFormatter() {@Overridepublic String getFormattedValue(float value, AxisBase axis) {return "";}});//y轴//左y轴YAxis leftAxis = barChart.getAxisLeft();//右y轴YAxis rightAxis = barChart.getAxisRight();//保证Y轴从0开始,不然会上移一点leftAxis.setAxisMinimum(0f);//设置右y轴是否显示rightAxis.setEnabled(false);//是否显示y坐标轴上的刻度竖线,默认是trueleftAxis.setDrawAxisLine(false);//设置为true当一个页面显示条目过多,X轴值隔一个显示一个leftAxis.setGranularityEnabled(true);//设置最小间隔,防止当放大时,出现重复标签。leftAxis.setGranularity(1f);//设置y轴显示最大标签数leftAxis.setAxisMaximum(6);//第一个参数是X轴坐标的个数,第二个参数是 是否不均匀分布,true是不均匀分布leftAxis.setLabelCount(leftYLable, false);/*折线图例  标签   设置*/Legend legend = barChart.getLegend();legend = barChart.getLegend();//图例样式legend.setForm(Legend.LegendForm.NONE);//图例文本大小legend.setTextSize(12f);//图例文本颜色legend.setTextColor(Color.BLACK);//显示位置//垂直时位置legend.setVerticalAlignment(Legend.LegendVerticalAlignment.BOTTOM);//水平时位置legend.setHorizontalAlignment(Legend.LegendHorizontalAlignment.RIGHT);//方向legend.setOrientation(Legend.LegendOrientation.HORIZONTAL);//是否绘制在图表里面legend.setDrawInside(false);

设置数据:

 ArrayList<BarEntry> entries = new ArrayList<>();BarEntry barEntry = null;// 数据结构BarDataSet barDataSet = null;// 代表一个柱状图for (int i = 0; i < list.size; i++) {/*** 此处还可插入Drawable对象,barEntry(float x, float y,Drawable icon)* 即可设置柱状图顶部的icon展示* */VtDateValueBean vtDateValueBean = list.get(i);//获取点对象float preValue = Float.parseFloat(vtDateValueBean.getPreValue());//获取y轴barEntry = new BarEntry(i, preValue);entries.add(barEntry);}//每一个BarDataSet代表一类柱状图barDataSet = new BarDataSet(entries, "柱状图");//设置柱状图颜色 (不同颜色)barDataSet.setColors(colorlist);//设置柱状图颜色  (统一颜色)barDataSet.setColor(Color.BLACK);//设置图例宽度barDataSet.setFormLineWidth(1f);//设置图例大小barDataSet.setFormSize(15.f);//不显示柱状图顶部值barDataSet.setDrawValues(true);//设置顶部值字体大小barDataSet.setValueTextSize(11f);//设置顶部值字体颜色  (不同颜色)barDataSet.setValueTextColors(colorlist);//设置顶部值字体颜色 (统一颜色)barDataSet.setValueTextColor(Color.BLACK);barDataSet.setHighlightEnabled(false);//            //添加多个BarDataSet时
//            ArrayList<IBarDataSet> dataSets=new ArrayList<>();
//            dataSets.add(barDataSet);
//            BarData data = new BarData(dataSets);BarData bardata = new BarData(barDataSet);// 格式化显示bardata.setValueFormatter(new IValueFormatter() {@Overridepublic String getFormattedValue(float value, Entry entry, int dataSetIndex, ViewPortHandler viewPortHandler) {DecimalFormat fnum = new DecimalFormat("##0.00");return fnum.format(value);}});//设置柱体宽度bardata.setBarWidth(0.08f);//设置数据barChart.setData(bardata);barChart.invalidate();

AndroidMPChart——BarChart相关推荐

  1. VTK:绘制BarChart条形图用法实战

    VTK:绘制BarChart条形图用法实战 程序输出 程序完整源代码 程序输出 程序完整源代码 #include <vtkAxis.h> #include <vtkChartXY.h ...

  2. VTK:绘图之BarChart

    VTK:绘图之BarChart VTK:绘图之BarChart 描述 代码 BarChart.cxx CMakeLists.txt VTK:绘图之BarChart 描述 本示例说明如何创建条形图. 代 ...

  3. 属性“dataProvider”有多个初始值设定项。(注意:“dataProvider”是“mx.charts.BarChart”的默认属性)。...

    1.错误描写叙述 属性"dataProvider"有多个初始值设定项.(注意:"dataProvider"是"mx.charts.BarChart&q ...

  4. 数据源改变后,BarChart组件的运动效果.

    showDataEffect属性. barSeries.xField 属性 barSeries.displayName 属性 示例: 代码: <?xml version="1.0&qu ...

  5. Android图表控件MPAndroidChart——BarChart实现多列柱状图以及堆积柱状图

    目录 前言 1. 数据准备 1.1 数据来源 2. 图表展示 2.1 MPAndroidChart获取 2.2 数据对象获取 2.3 数据展示 3. 柱状图外观完善 3.1 去掉图表外框,描述内容以及 ...

  6. MPAndroidChart的详细使用——BarChart条形图组(三)

    记录一下BarChart(条形图)的图组(多条数据)使用! 注:本人使用的版本是MPAndroidChart-v3.0.3(如若版本不同有某些方法更新,可在评论区留言,尽我所能帮你解决!) MPAnd ...

  7. MPAndroidChart的详细使用——BarChart条形图(二)

    今天来记录一下BarChart(条形图)的详细使用(美化)! 注:本人使用的版本是MPAndroidChart-v3.0.3(如若版本不同有某些方法更新,可在评论区留言,尽我所能帮你解决!) MPAn ...

  8. MPAndroidChart使用(BarChart为例)

    1.准备工作 1.1.引用到项目中 在你的项目的build.gradle文件中配置: allprojects { repositories { jcenter() maven { url " ...

  9. MPAndroidChart3使用详解4:BarChart(柱形图)

    柱状图使用实例 >> 代码: private BarChart bc;@Overrideprotected void onCreate(Bundle savedInstanceState) ...

  10. BarChart 柱状图 实例

    BarChart 第一步,创建数据集 定义:DefaultCategoryDataset dataset = new DefaultCategoryDataset(); 设值:dataset.addV ...

最新文章

  1. 趣图:如何假装自己是一个IT人?
  2. linux中resize的含义,linux的resize2fs命令
  3. Python框架篇之Django(Models的多表操作)
  4. pytorch入门——tensorboard,transforms,dataset,dataloader,model,train,test
  5. 【POJ2453】An Easy Problem
  6. MVC3学习 七 Razor使用、路由模块、框架自带校验
  7. 帆软高级函数应用之数组函数
  8. python界面实现点餐系统_餐厅点餐系统详细设计与系统实现
  9. FL studio 20简易入门教程 -- 第五篇 -- 乐器调制界面
  10. 管理者该如何思考团队建设
  11. eighth week(2)
  12. 服务器硬盘无法显示扩展卷,win10硬盘分区合并扩展卷没法点怎么解决_win10硬盘分区不能点扩展卷修复方法-win7之家...
  13. python 有放回随机抽取_Python 随机抽样
  14. Oracle数据库字段翻译
  15. 虚拟机VM利用U盘重装系统
  16. 怎么用计算机要微信,电脑端要实现“微信双开”功能,三种方法,简单实用!...
  17. 基于asp.net738房屋租赁管理系统
  18. Androidstudio检测不到夜深模拟器解决方法
  19. 量子涡轮服务器原理,纯mek用一个泵跑满涡轮——水冷聚变堆的搭建
  20. 双线性群简介与基本运算

热门文章

  1. Elasticsearch优化原理
  2. 深度linux安装dkms,安装Virtualbox 错误提示安装DKMS解决方法
  3. ArcGIS之栅格地图配准
  4. laravel5.8接入RabbitMq队列服务
  5. mysql 端口关闭了_关闭MySQL的3306端口
  6. windows Server2016 关闭135端口
  7. Linux终端解压压缩文件,如何从终端解压zip文件?
  8. spss入门——简单的数据预处理到时间序列分析系列(声明!!!!!!!)
  9. linux mint更改锁屏壁纸
  10. JAVA跑步计时器app_坚持跑步神器app