Android上实现柱状图表

本文详细介绍了在Android平台上实现柱状图算法的过程,包括获取屏幕大小、绘制蓝色边框与白色背景XY轴线、绘制柱状图标题、计算X轴数据、计算柱状图高度和宽度等关键步骤。

Android上实现柱状图算法实现

第一步:获取Android设备的屏幕大小

在View中获取Android设备屏幕大小的方法为:

WindowManager wm = (WindowManager) this.getcontext().getSystemService(context.WINDOW_SERVIcE);
Display display = wm.getDefaultDisplay();
int width = display.getWidth();

在Activity中获取Android设备屏幕大小的方法为:

 DisplayMetrics displaymetrics = new DisplayMetrics();
 getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
 int height = displaymetrics.heightPixels;
 int wwidth = displaymetrics.widthPixels;

第二步:在View对象中使用canvas绘制蓝色边框与白色背景XY轴两条线

第三步:绘制柱状图标题

第四步:根据数据集计算出每个系列数据所占X轴的大小,来绘制X 数据名称

计算X轴中每个系列所占大小的代码为:

int count = series.getSeriescount();
int xUnit = (width - 2 - xOffset)/count;

第五步:根据数据集计算出数据单元大小,并将数据单元映射为像素单元,绘制出标尺单位与背景虚线

第六步:根据数据集的值来计算出柱状图的高度,以及柱状图的宽度大小,映射为像素值以后完成绘制。

其中xOffset, yOffset值计算公式如下:
int xOffset = (int)(width * 0.1); 
int yOffset = (int)(height * 0.1); 
int xOffset = (int)(width * 0.1);
int yOffset = (int)(height * 0.1);
计算每个系类中,每个柱状图之间缝隙大小的为:
int barWidth = (int)(xUnit/Math.pow(itemList.size(),2)); 
int startPos = xOffset + 2 + xPadding + xUnit*i; 
int interval = barWidth/2; 

其中barWidth表示每个柱状矩形的宽度,interval表示同一数据系列中表示每个矩形之间的间隔。


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值