Android上实现柱状图表
2012-09-18 09:18
387 查看
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表示同一数据系列中表示每个矩形之间的间隔。
第一步:获取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表示同一数据系列中表示每个矩形之间的间隔。
相关文章推荐
- [AndroidUI]自定义view(五):实现动态柱状图
- Android 自定义view实现动态柱状图。
- Android图表超简单实现柱状图、折线图、饼状图(基于MpAndroidChart)
- 100行Android代码轻松实现带动画柱状图
- Android上实现柱状图表
- Android 开源柱状图分析实现
- Android 实现可视化动态音频柱状图
- Android柱状图的实现
- Android 实用hellocharts实现柱状图、线状图
- 实现自定义android柱状图控件!可显示气温!可相应点击事件的回调!
- android柱状图和饼状图的的实现
- Android上实现柱状图表 可实现边框矩形 没填充色
- Android 柱状图 统计图的实现
- Android图表超简单实现柱状图、折线图、饼状图(基于MpAndroidChart)
- android实现折线图和柱状图
- <Android开发代码库>achartengine实现柱状图、圆饼图、线图等
- MPAndroidChart项目实战(一)——实现对比性柱状图
- <Android开发代码库>achartengine实现柱状图、圆饼图、线图等
- Android实现简易的柱状图和曲线图表实例代码
- Android上实现柱状图表