第三方资源库MPChart如何添加到项目中就不说了,不知道的网上搜一下,很多。

也可以参考:https://blog.csdn.net/lvxiaobo1994/article/details/82790187

本篇主要说明MPChart中BarChart(柱状图)是如何调用实现的。

一、布局文件

二、BarChartActivity

public class BarChartActivity extends AppCompatActivity {    private BarChart barchart;     @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_bar_chart);        barchart = findViewById(R.id.barChart);        barchart.setDrawBarShadow(false);//true绘画的Bar有阴影。        barchart.setDrawValueAboveBar(true);//true文字绘画在bar上        barchart.getDescription().setEnabled(false);        barchart.setMaxVisibleValueCount(60);        barchart.setPinchZoom(false);//false只能单轴缩放        barchart.setDrawGridBackground(false);        //x坐标轴设置        xAxisValue.clear();        xAxisValue.add("1月");        xAxisValue.add("2月");        xAxisValue.add("3月");        xAxisValue.add("4月");        xAxisValue.add("5月");        xAxisValue.add("6月");        XAxis xAxis = barchart.getXAxis();        xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);        xAxis.setDrawGridLines(false);        xAxis.setDrawLabels(true);        xAxis.setGranularity(1f);        xAxis.setLabelCount(xAxisValue.size());        xAxis.setCenterAxisLabels(true);//设置标签居中        xAxis.setValueFormatter(new IndexAxisValueFormatter(xAxisValue));        //设置Y轴        barchart.getAxisRight().setEnabled(false);        YAxis leftAxis = barchart.getAxisLeft();        leftAxis.setLabelCount(6, false);//        leftAxis.setValueFormatter();        leftAxis.setPosition(YAxis.YAxisLabelPosition.OUTSIDE_CHART);        leftAxis.setSpaceTop(10f);        leftAxis.setAxisMinimum(0f);        leftAxis.setAxisMaximum(50f);        Legend l = barchart.getLegend();        l.setVerticalAlignment(Legend.LegendVerticalAlignment.BOTTOM);        l.setHorizontalAlignment(Legend.LegendHorizontalAlignment.LEFT);        l.setOrientation(Legend.LegendOrientation.HORIZONTAL);        l.setDrawInside(false);        l.setForm(Legend.LegendForm.SQUARE);        l.setFormSize(9f);        l.setTextSize(11f);        l.setXEntrySpace(4f);//        XYMarkerView mv = new XYMarkerView(this, xAxisFormatter);//        mv.setChartView(barchart); // For bounds control//        barchart.setMarker(mv); // Set the marker to the chart        setData(6, 50);    }     private void setData(int count, float range) {        float start = 1f;        ArrayList yVals1 = new ArrayList();        ArrayList yVals2 = new ArrayList();        for (int i = (int) start; i < start + count; i++) {            float mult = (range + 1);            float val = (float) (Math.random() * mult);            float val2 = (float) (Math.random() * mult);            yVals1.add(new BarEntry(i, val));            yVals2.add(new BarEntry(i, val2));        }        BarDataSet set1 = new BarDataSet(yVals1, "数据说明1");        set1.setDrawIcons(false);        set1.setColor(ColorTemplate.rgb("#2ecc71"));        BarDataSet set2 = new BarDataSet(yVals2, "数据说明2");        set2.setDrawIcons(false);        set2.setColor(ColorTemplate.rgb("#f1c40f"));        ArrayList dataSets = new ArrayList();        dataSets.add(set1);        dataSets.add(set2);        BarData data = new BarData(dataSets);        data.setValueTextSize(10f);        barchart.setData(data);        float groupSpace = 0.2f;        float barSpace = 0.1f;        barchart.getBarData().setBarWidth(0.3f);        barchart.getXAxis().setAxisMinimum(0);        barchart.getXAxis().setAxisMaximum(barchart.getBarData().getGroupWidth(groupSpace, barSpace) * xAxisValue.size() + 0);        barchart.groupBars(0, groupSpace, barSpace);        barchart.animateY(1000, Easing.Linear);        barchart.animateX(1000, Easing.Linear);    }}

至于里面BarChart的属性方法是什么意思,注释加了一些,另外的大家可以自行百度。

更多相关文章

  1. “罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?
  2. Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
  3. 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
  4. Android应用开发SharedPreferences存储数据的使用方法
  5. Android(安卓)中文API (46) —— SimpleAdapter
  6. Android中使用ormlite
  7. Android基础之Intent和Intent Filter
  8. Android(安卓)USB Host与HID设备通信
  9. android ListView在数据为空的时候headView和footerview不显示

随机推荐

  1. 两种android app调用jar的方法
  2. Android: 通过Google GeoLocation进行定
  3. Android应用框架之应用启动过程
  4. 设置Android设备按Power按键不休眠
  5. Android启动脚本init.rc 2
  6. MacBook下配置android adb命令使用环境
  7. Android的Activity跳转动画各种效果整理
  8. 浅谈Android开机启动速度优化(含应用程序
  9. 在android studio中导入cocos2dx中的andr
  10. Android期末复习题