Android图表库MPAndroidChart十三简约的底部柱状图.docx

上传人:b****6 文档编号:6227820 上传时间:2023-01-04 格式:DOCX 页数:12 大小:83.19KB
下载 相关 举报
Android图表库MPAndroidChart十三简约的底部柱状图.docx_第1页
第1页 / 共12页
Android图表库MPAndroidChart十三简约的底部柱状图.docx_第2页
第2页 / 共12页
Android图表库MPAndroidChart十三简约的底部柱状图.docx_第3页
第3页 / 共12页
Android图表库MPAndroidChart十三简约的底部柱状图.docx_第4页
第4页 / 共12页
Android图表库MPAndroidChart十三简约的底部柱状图.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

Android图表库MPAndroidChart十三简约的底部柱状图.docx

《Android图表库MPAndroidChart十三简约的底部柱状图.docx》由会员分享,可在线阅读,更多相关《Android图表库MPAndroidChart十三简约的底部柱状图.docx(12页珍藏版)》请在冰豆网上搜索。

Android图表库MPAndroidChart十三简约的底部柱状图.docx

Android图表库MPAndroidChart十三简约的底部柱状图

Android图表库MPAndroidChart(十三)——简约的底部柱状图

我们继续上一讲,今天还是说下柱状图,这个图的话应该是用的比较多的,所有拿出来溜溜,先看下效果

我们还是来看下基本实现

一.基本实现

大家猜下,我们用哪个View来做比较好?

android:

id="@+id/mBarChart"

android:

layout_width="match_parent"

android:

layout_height="0dp"

android:

layout_weight="1"/>

继续用BarChart,那我们来做初始化的动作

mBarChart.getDescription().setEnabled(false);

mBarChart.setMaxVisibleValueCount(60);

mBarChart.setPinchZoom(false);

mBarChart.setDrawBarShadow(false);

mBarChart.setDrawGridBackground(false);

XAxisxAxis=mBarChart.getXAxis();

xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);

xAxis.setDrawGridLines(false);

mBarChart.getAxisLeft().setDrawGridLines(false);

mBarChart.animateY(2500);

mBarChart.getLegend().setEnabled(false);

这个初始化我实际上并没有设置什么特殊的属性,然后设置数据

//设置数据

privatevoidsetData(){

ArrayListyVals1=newArrayList();

for(inti=0;i<10;i++){

floatmult=50;

floatval=(float)(Math.random()*mult)+mult/3;

yVals1.add(newBarEntry(i,val));

}

BarDataSetset1;

if(mBarChart.getData()!

=null&&

mBarChart.getData().getDataSetCount()>0){

set1=(BarDataSet)mBarChart.getData().getDataSetByIndex(0);

set1.setValues(yVals1);

mBarChart.getData().notifyDataChanged();

mBarChart.notifyDataSetChanged();

}else{

set1=newBarDataSet(yVals1,"日期设置");

//设置多彩也可以单一颜色

set1.setColors(ColorTemplate.VORDIPLOM_COLORS);

set1.setDrawValues(false);

ArrayListdataSets=newArrayList();

dataSets.add(set1);

BarDatadata=newBarData(dataSets);

mBarChart.setData(data);

mBarChart.setFitBars(true);

}

mBarChart.invalidate();

}

在设置数据方面我也只是设置了多彩的颜色,这样就能实现我们上图的效果了,这个也算是一个比较简单的图表了

二.显示顶点值

好,基本功能都差不多,那我们来看下全部代码

activity_another.xml

xmlversion="1.0"encoding="utf-8"?

>

xmlns:

android="

android:

layout_width="match_parent"

android:

layout_height="match_parent"

android:

orientation="vertical">

android:

id="@+id/mBarChart"

android:

layout_width="match_parent"

android:

layout_height="0dp"

android:

layout_weight="1"/>

android:

layout_width="match_parent"

android:

layout_height="wrap_content"

android:

orientation="horizontal">

 

android:

id="@+id/btn_show_values"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"

android:

text="顶点显示值"/>

android:

id="@+id/btn_anim_x"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"

android:

text="X轴动画"/>

android:

id="@+id/btn_anim_y"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"

android:

text="Y轴动画"/>

android:

id="@+id/btn_anim_xy"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"

android:

text="XY轴动画"/>

 

android:

layout_width="match_parent"

android:

layout_height="wrap_content"

android:

orientation="horizontal">

 

android:

id="@+id/btn_save_pic"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"

android:

text="保存到相册"/>

android:

id="@+id/btn_auto_mix_max"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"

android:

text="自动最大最小值"/>

android:

id="@+id/btn_actionToggleHighlight"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"

android:

text="高亮显示"/>

android:

id="@+id/btn_show_border"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"

android:

text="显示边框"/>

AnotherBarActivity

publicclassAnotherBarActivityextendsBaseActivityimplementsView.OnClickListener{

privateBarChartmBarChart;

//显示顶点值

privateButtonbtn_show_values;

//x轴动画

privateButtonbtn_anim_x;

//y轴动画

privateButtonbtn_anim_y;

//xy轴动画

privateButtonbtn_anim_xy;

//保存到sd卡

privateButtonbtn_save_pic;

//切换自动最大最小值

privateButtonbtn_auto_mix_max;

//高亮显示

privateButtonbtn_actionToggleHighlight;

//显示边框

privateButtonbtn_show_border;

 

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_another);

initView();

}

//初始化

privatevoidinitView(){

//基本控件

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=(Button)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.setPnchZoom(false);

mBarChart.setDrawBarShadow(false);

mBarChart.setDrawGridBackground(false);

XAxisxAxis=mBarChart.getXAxis();

xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);

xAxis.setDrawGridLines(false);

mBarChart.getAxisLeft().setDrawGridLines(false);

mBarChart.animateY(2500);

mBarChart.getLegend().setEnabled(false);

setData();

}

//设置数据

privatevoidsetData(){

ArrayListyVals1=newArrayList();

for(inti=0;i<10;i++){

floatmult=50;

floatval=(float)(Math.random()*mult)+mult/3;

yVals1.add(newBarEntry(i,val));

}

BarDataSetset1;

if(mBarChart.getData()!

=null&&

mBarChart.getData().getDataSetCount()>0){

set1=(BarDataSet)mBarChart.getData().getDataSetByIndex(0);

set1.setValues(yVals1);

mBarChart.getData().notifyDataChanged();

mBarChart.notifyDataSetChanged();

}else{

set1=newBarDataSet(yVals1,"日期设置");

//设置多彩也可以单一颜色

set1.setColors(ColorTemplate.VORDIPLOM_COLORS);

set1.setDrawValues(false);

ArrayListdataSets=newArrayList();

dataSets.add(set1);

BarDatadata=newBarData(dataSets);

mBarChart.setData(data);

mBarChart.setFitBars(true);

}

mBarChart.invalidate();

}

@Override

publicvoidonClick(Viewv){

switch(v.getId()){

//显示顶点值

caseR.id.btn_show_values:

for(IDataSetset:

mBarChart.getData().getDataSets())

set.setDrawValues(!

set.isDrawValuesEnabled());

mBarChart.invalidate();

break;

//x轴动画

caseR.id.btn_anim_x:

mBarChart.animateX(3000);

break;

//y轴动画

caseR.id.btn_anim_y:

mBarChart.animateY(3000);

break;

//xy轴动画

caseR.id.btn_anim_xy:

mBarChart.animateXY(3000,3000);

break;

//保存到sd卡

caseR.id.btn_save_pic:

if(mBarChart.saveToGallery("title"+System.currentTimeMillis(),50)){

Toast.makeText(getApplicationContext(),"保存成功",

Toast.LENGTH_SHORT).show();

}else

Toast.makeText(getApplicationContext(),"保存失败",

Toast.LENGTH_SHORT).show();

break;

//切换自动最大最小值

caseR.id.btn_auto_mix_max:

mBarChart.setAutoScaleMinMaxEnabled(!

mBarChart.isAutoScaleMinMaxEnabled());

mBarChart.notifyDataSetChanged();

break;

//高亮显示

caseR.id.btn_actionToggleHighlight:

if(mBarChart.getData()!

=null){

mBarChart.getData().setHighlightEnabled(

!

mBarChart.getData().isHighlightEnabled());

mBarChart.invalidate();

}

break;

//显示边框

caseR.id.btn_show_border:

for(IBarDataSetset:

mBarChart.getData().getDataSets())

((BarDataSet)set).setBarBorderWidth(set.getBarBorderWidth()==1.f?

0.f:

1.f);

mBarChart.invalidate();

break;

}

}

}

OK,这样这个图表就大功告成了

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 中职中专

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1