欢迎访问 生活随笔!

ag凯发k8国际

当前位置: ag凯发k8国际 > 运维知识 > android >内容正文

android

java android统计图-ag凯发k8国际

发布时间:2024/10/14 android 41 豆豆
ag凯发k8国际 收集整理的这篇文章主要介绍了 java android统计图_android统计图表之柱状图(条形图) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.



android统计图表之柱状图(条形图)

柱状图是统计图表中经常用到的一种图表,比如降雨量之类的统计展示。我之前写了一些关于android上的统计图表库mpandroidchart,附录了一些我自己写的技术文档,在这些文档中介绍了mpandroidchart的详细内容。

现在基于android平台上的mpandroidchart,在android上实现柱状图,以降雨量为例,制作一个简单的降雨量柱状图(条形图)。

测试的主mainactivity.java

package zhangphil.barchart;

import java.text.decimalformat;

import java.util.arraylist;

import com.github.mikephil.charting.charts.barchart;

import com.github.mikephil.charting.components.legend;

import com.github.mikephil.charting.components.xaxis;

import com.github.mikephil.charting.components.yaxis;

import com.github.mikephil.charting.components.legend.legendform;

import com.github.mikephil.charting.components.legend.legendposition;

import com.github.mikephil.charting.components.xaxis.xaxisposition;

import com.github.mikephil.charting.components.yaxis.yaxislabelposition;

import com.github.mikephil.charting.data.bardata;

import com.github.mikephil.charting.data.bardataset;

import com.github.mikephil.charting.data.barentry;

import com.github.mikephil.charting.utils.valueformatter;

import android.support.v7.app.actionbaractivity;

import android.graphics.color;

import android.os.bundle;

public class mainactivity extends actionbaractivity {

@override

protected void oncreate(bundle savedinstancestate) {

super.oncreate(savedinstancestate);

setcontentview(r.layout.activity_main);

barchart mbarchart = (barchart) findviewbyid(r.id.bar_chart);

setbarchartstyle(mbarchart);

// 制作10个数据点。

setdata(mbarchart, 10);

}

private void setbarchartstyle(barchart mbarchart) {

mbarchart.setdrawbarshadow(false);

mbarchart.setdrawvalueabovebar(true);

mbarchart.setdescription("@ http://blog.csdn.net/zhangphil");

mbarchart.setmaxvisiblevaluecount(60);

mbarchart.setpinchzoom(false);

mbarchart.setdrawgridbackground(false);

xaxis xaxis = mbarchart.getxaxis();

xaxis.setposition(xaxisposition.bottom);

xaxis.setdrawgridlines(false);

xaxis.setspacebetweenlabels(2);

yaxis leftaxis = mbarchart.getaxisleft();

leftaxis.setlabelcount(5, false);

leftaxis.setposition(yaxislabelposition.outside_chart);

leftaxis.setspacetop(15f);

leftaxis.settextcolor(color.blue);

yaxis rightaxis = mbarchart.getaxisright();

rightaxis.setdrawgridlines(false);

rightaxis.setlabelcount(5, false);

rightaxis.setspacetop(15f);

rightaxis.settextcolor(color.green);

legend mlegend = mbarchart.getlegend();

mlegend.setposition(legendposition.below_chart_center);

mlegend.setform(legendform.square);

mlegend.setformsize(15f);

mlegend.settextsize(12f);

mlegend.setxentryspace(5f);

}

private void setdata(barchart mbarchart, int count) {

arraylist xvals = new arraylist();

for (int i = 0; i < count; i ) {

xvals.add(i, i "");

}

arraylist yvals = new arraylist();

for (int i = 0; i < count; i ) {

float val = (float) (math.random() * 100);

yvals.add(new barentry(val, i));

}

bardataset mbardataset = new bardataset(yvals, "柱状图测试数据");

// 如果是0f,那么柱状图之间将紧密无空隙的拼接在一起形成一片。

mbardataset.setbarspacepercent(30f);

// 柱状图柱的颜色

mbardataset.setcolor(color.red);

// 当柱状图某一柱被选中时候的颜色

mbardataset.sethighlightcolor(color.yellow);

mbardataset.setvalueformatter(new valueformatter() {

@override

public string getformattedvalue(float value) {

decimalformat decimalformat = new decimalformat(".0");

string s = decimalformat.format(value) "毫米";

return s;

}

});

arraylist datasets = new arraylist();

datasets.add(mbardataset);

bardata mbardata = new bardata(xvals, datasets);

mbardata.setvaluetextsize(12f);

mbarchart.setdata(mbardata);

}

}

mainactivity.java需要的布局文件activity_main.xml:

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent" >

android:id="@ id/bar_chart"

android:layout_width="match_parent"

android:layout_height="match_parent"/>

运行结果如图:

总结

以上是ag凯发k8国际为你收集整理的java android统计图_android统计图表之柱状图(条形图)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得ag凯发k8国际网站内容还不错,欢迎将ag凯发k8国际推荐给好友。

网站地图