1.导入三方jar包(可参照)

MPAndroidChart(GitHub上优秀得图表功能库)

MPAndroidChart常见设置属性(一)——应用层

2.布局activity_main.xml(这里显示了两个,其实多余)

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" > <com.github.mikephil.charting.charts.BarChart
android:id="@+id/chart1"
android:layout_width="match_parent"
android:layout_height="250dp"
android:layout_below="@+id/chart"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" /> </RelativeLayout>

3.柱状图类BarChart3s.java

public class BarChart3s {

    public BarChart3s(BarChart chart) {
// 数据描述
chart.setDescription("");
//背景
chart.setBackgroundColor(0xffffffff);
//定义数据描述得位置
//chart.setDescriptionPosition(2,100);
// 设置描述文字的颜色
// chart.setDescriptionColor(0xffededed);
// 动画
chart.animateY(1000);
//设置无边框
chart.setDrawBorders(false);
// 设置是否可以触摸
chart.setTouchEnabled(true);
// 是否可以拖拽
chart.setDragEnabled(true);
// 是否可以缩放
chart.setScaleEnabled(true);
//设置网格背景
chart.setGridBackgroundColor(0xffffffff);
//设置边线宽度
chart.setBorderWidth(0);
//设置边线颜色
chart.setBorderColor(0xffffffff);
// 集双指缩放
chart.setPinchZoom(false);
// 隐藏右边的坐标轴
chart.getAxisRight().setEnabled(false);
// 隐藏左边的左边轴
chart.getAxisLeft().setEnabled(true); Legend mLegend = chart.getLegend(); // 设置比例图标示
// 设置窗体样式
mLegend.setForm(Legend.LegendForm.SQUARE);
//设置图标位置
mLegend.setPosition(Legend.LegendPosition.LEFT_OF_CHART);
// 字体
mLegend.setFormSize(4f);
//是否显示注释
mLegend.setEnabled(false);
// 字体颜色
// mLegend.setTextColor(Color.parseColor("#7e7e7e")); //设置X轴位置
XAxis xAxis = chart.getXAxis();
xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
// 前面xAxis.setEnabled(false);则下面绘制的Grid不会有"竖的线"(与X轴有关)
// 上面第一行代码设置了false,所以下面第一行即使设置为true也不会绘制AxisLine
//设置轴线得颜色
xAxis.setAxisLineColor(0xffffffff);
xAxis.setDrawAxisLine(false);
xAxis.setDrawGridLines(false);
xAxis.setSpaceBetweenLabels(2); //设置Y轴
YAxis leftAxis = chart.getAxisLeft();
//Y轴颜色
leftAxis.setAxisLineColor(0xffffffff);
//Y轴参照线颜色
leftAxis.setGridColor(0xfff3f3f3);
//参照线长度
leftAxis.setAxisLineWidth(5f);
// 顶部居最大值站距离占比
leftAxis.setSpaceTop(20f); chart.invalidate();
} public ArrayList<BarDataSet> getDataSet() {
ArrayList<BarDataSet> dataSets = null;
ArrayList<BarEntry> valueSet1 = new ArrayList<BarEntry>();
for (int i = 0; i < 31; i++) {
float value = (float) (Math.random() * 100/*100以内的随机数*/) + 3;
valueSet1.add(new BarEntry(value,i));} ArrayList<BarEntry> valueSet2 = new ArrayList<BarEntry>();
for (int j = 0; j < 31; j++) {
float value1 = (float) (Math.random() * 100/*100以内的随机数*/) + 3;
valueSet2.add(new BarEntry(value1,j));} BarDataSet barDataSet1 = new BarDataSet(valueSet1, "目标");
barDataSet1.setColor(Color.parseColor("#45a2ff")); barDataSet1.setBarShadowColor(Color.parseColor("#01000000")); BarDataSet barDataSet2 = new BarDataSet(valueSet2, "实际");
barDataSet2.setColor(Color.parseColor("#6faae7"));
barDataSet2.setBarShadowColor(Color.parseColor("#01000000")); dataSets = new ArrayList<BarDataSet>();
dataSets.add(barDataSet1);
dataSets.add(barDataSet2); return dataSets;
} public ArrayList<String> getXAxisValues() {
ArrayList<String> xAxis = new ArrayList<String>();
for (int j = 0; j < 31; j++){
xAxis.add("8-"+(j+1));
}
return xAxis;
}
}

4.MainActivity.java

public class MainActivity extends Activity {
private BarChart3s mBarChart3s; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main); BarChart chart = (BarChart) findViewById(R.id.chart);
BarChart chart1 = (BarChart) findViewById(R.id.chart1);
mBarChart3s = new BarChart3s(chart);
mBarChart3s = new BarChart3s(chart1);
BarData data = new BarData(mBarChart3s.getXAxisValues(), mBarChart3s.getDataSet()); // 设置数据
chart.setData(data);
chart1.setData(data); }
} 转自:https://blog.csdn.net/dt235201314/article/details/52242221

MPchartAnadroid的对比柱状图的更多相关文章

  1. [echarts] 同指标对比柱状图

    需求:对比课程通过率最高的8个课程和最低的8个课程以及全校的平均通过率 http://echarts.baidu.com/echarts2/doc/example/bar1.html option = ...

  2. UltraChart画柱状图上面显示数值

    http://www.cnblogs.com/kevin-h-wang/archive/2013/06/05/UltraChart.html 1.柱状图上显示数值 ? //第一种方法 this.Ult ...

  3. 痞子衡嵌入式:ARM Cortex-M内核那些事(4)- 性能指标

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是ARM Cortex-M性能指标. 1.处理器的性能指标 用于评价CPU的性能指标非常多,不同的性能侧重点下的测试标准可能得出的指标值不 ...

  4. 人工智能-机器学习之seaborn(读取xlsx文件,小提琴图)

    我们不止可以读取数据库的内容,还可以读取xlsx文件的内容,这个库有在有些情况还是挺实用的 首先我们想读取这个文件的时候必须得现有个seaborn库 下载命令就是: pip install  seab ...

  5. 【转】实战USB接口手机充电 看3.0/2.0谁更快

    原文网址:http://mb.it168.com/a2012/0816/1385/000001385641_all.shtml [IT168 应用]当下,越来越多的电脑都已普及USB 3.0接口,新买 ...

  6. 零基础入门Python实战:四周实现爬虫网站 Django项目视频教程

    点击了解更多Python课程>>> 零基础入门Python实战:四周实现爬虫网站 Django项目视频教程 适用人群: 即将毕业的大学生,工资低工作重的白领,渴望崭露头角的职场新人, ...

  7. 【Python高级工程师之路】入门+进阶+实战+爬虫+数据分析整套教程

    点击了解更多Python课程>>> 全网最新最全python高级工程师全套视频教程学完月薪平均2万 什么是Python? Python是一门面向对象的编程语言,它相对于其他语言,更加 ...

  8. 机器学习--matplotlib绘制各种图表

    机器学习三剑客:numpy.pandas.matplotlib NumPy系统是Python的一种开源的数值计算扩展.这种工具可用来存储和处理大型矩阵. pandas 是基于numpy的一种工具,该工 ...

  9. pyhton项目和晋江文学城数据分析项目

     1.图书管理系统 图1.图书管理系统(作者信息列表页面) 图2.图书管理系统(作者信息修改页面) 2.个人博客网页设计 图3.博客(我的日记-->个人日记)页面 图4.博客(关于我--> ...

随机推荐

  1. PHP.14-图片处理类

    图片处理类 test.php <?php include "images.class.php"; $image=new Image("./images/" ...

  2. 内置函数--sorted,filter,map

    sorted() 排序函数. 语法: sorted(Iterable, key=None, reverse=False) Iterable: 可迭代对象;  key: 排序规则(排序函数); reve ...

  3. 微信小程序 | 49,小程序入门集锦系列文章20篇

    以下20篇文章,都是关于微信小程序的文章,以入门常见问题为主.如发现谬误,请与笔者联系. [小程序入门集锦]1,微信小程序在哪里打开 [小程序入门集锦]2,小程序商店 [小程序入门集锦]3,微信小程序 ...

  4. FastJson 打Release 包解析失败

    debug 的时候,fastJson 解析数据正常.但是打了release 的时候,解析的List 总是null. 找了半天,发现,是fastJson 是对泛型有问题. 解决办法: -keepattr ...

  5. Android 做项目总结

    1.base 2.跳转可以用uihelper 3.activity和处理逻辑分开 4.userhelper保存管理用户登录信息 5.验证输入框的时候,接受的参数不要是String ,而是Edittex ...

  6. JavaScript - 问题集 - 含function的json对象与json字符串之间相互转换

    基本的转换为:JSON.parse与JSON.stringify. 但是json数据中含function,则转换后,function会丢失,如: var json={ test:'test', log ...

  7. Mac 小技巧

    本文的大部分技巧来自于池建强老师的<MacTalk.人生元编程>,感谢他的辛苦付出,本文多系整理而已. 终端输入说英语 说英语时我们当然希望有标准发音.在Mac中不需要字典,直接在终端里输 ...

  8. Linux利用OneinStack搭建环境

    OneinStack官方网站:https://oneinstack.com 介绍 OneinStack支持以下数种环境组合: LNMP(Linux + Nginx+ MySQL+ PHP) LAMP( ...

  9. Codeforces 1088E 树形dp+思维

    比赛的时候看到题意没多想就放弃了.结果最后D也没做出来,还掉分了,所以还是题目做的太少,人太菜. 回到正题: 题意:一棵树,点带权值,然后求k个子连通块,使得k个连通块内所有的点权值相加作为分子除以k ...

  10. 课时46:魔法方法:描述符(property的原理)

    目录: 一.描述符(property的原理) 二.课时46课后习题及答案 ********************************** 一.描述符(property的原理) ********* ...