导航:首页 > 操作系统 > android绘制柱状图

android绘制柱状图

发布时间:2022-06-22 20:08:54

安卓如何制作柱状图

android画柱状图

package org.achartengine.chartdemo.demo.chart;

import org.achartengine.ChartFactory;
import org.achartengine.chart.BarChart.Type;
import org.achartengine.chartdemo.demo.R;
import org.achartengine.model.RangeCategorySeries;
import org.achartengine.model.XYMultipleSeriesDataset;
import org.achartengine.renderer.SimpleSeriesRenderer;
import org.achartengine.renderer.XYMultipleSeriesRenderer;
import android.app.Activity;
import android.graphics.Color;
import android.graphics.Paint.Align;
import android.os.Bundle;
import android.view.View;

public class TemperatureChart extends Activity{

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

double[] minValues = new double[]{55,50,40,30,20,20,30,40,50,55};
double[] maxValues =new double[]{85,95,100,95,85,85,95,100,95,85};

// 用于 保存点集数据 ,包括每条曲线的X,Y坐标
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();//使用与柱状图
RangeCategorySeries series = new RangeCategorySeries("您当月的消费记录");// 括号内为图表底部的文字
for (int k = 0; k < minValues.length; k++) {
series.add(minValues[k], maxValues[k]);
}
dataset.addSeries(series.toXYSeries());
int[] colors = new int[] { Color.CYAN };// 青色蓝绿色
= buildBarRenderer(colors);
setChartSettings(renderer, "标题", "x",
"y", 0.5, 12.5, 0, 150, Color.GRAY, Color.LTGRAY);// 画笔的颜色预先定义成浅灰色

renderer.setBarSpacing(0.01);//设置间距
renderer.setXLabels(0);//设置 X 轴不显示数字(改用我们手动添加的文字标签));//设置X轴显示的刻度标签的个数
renderer.setYLabels(15);// 设置合适的刻度,在轴上显示的数量是 MAX / labels
renderer.setMargins(new int[] { 30, 70, 10, 0 });//图形 4 边距 设置4边留白设置图表的外边框
renderer.setYLabelsAlign(Align.RIGHT);//设置y轴显示的分列,默认是 Align.CENTER
renderer.setPanEnabled(true, false);//设置x方向可以滑动,y方向不可以滑动
renderer.setZoomEnabled(false,false);//设置x,y方向都不可以放大或缩小
SimpleSeriesRenderer r = renderer.getSeriesRendererAt(0);
r.setDisplayChartValues(true);//设置是否在主题上方显示值
r.setChartValuesTextSize(24);//柱体上方字的大小
r.setChartValuesSpacing(3);//柱体上方字的与柱体顶部的距离
r.setGradientEnabled(true);
r.setGradientStart(20, Color.BLUE);
r.setGradientStop(100, Color.GREEN);
View mchartView =ChartFactory.getRangeBarChartView(TemperatureChart.this, dataset, renderer,
Type.DEFAULT);

setContentView(mchartView);

}
protected (int[] colors) {
= new XYMultipleSeriesRenderer();
renderer.setAxisTitleTextSize(16);
renderer.setChartTitleTextSize(20);
renderer.setLabelsTextSize(15);
renderer.setLegendTextSize(15);
int length = colors.length;
for (int i = 0; i < length; i++) {
SimpleSeriesRenderer r = new SimpleSeriesRenderer();
r.setColor(colors[i]);
renderer.addSeriesRenderer(r);
}
return renderer;
}

protected void setChartSettings(, String title, String xTitle,
String yTitle, double xMin, double xMax, double yMin, double yMax, int axesColor,
int labelsColor) {
renderer.setChartTitle(title);
renderer.setXTitle(xTitle);
renderer.setYTitle(yTitle);
renderer.setXAxisMin(xMin);
renderer.setXAxisMax(xMax);
renderer.setYAxisMin(yMin);
renderer.setYAxisMax(yMax);
renderer.setAxesColor(axesColor);
renderer.setLabelsColor(labelsColor);
}

❷ android绘制柱状图,如何再让每一柱都有监听事件

个人觉得可以继承一个View,不论是用图片贴还是自己画都可以,然后添加监听就可以。思想就是像楼上说的。不过,个人建议继承ImageView,贴图片还是最方便的.

❸ 如何在android画分析图(例如 柱状图、趋势图、饼图)

目前android上图标引擎并不少见,像aChartEngine就能很好的完成绘图:

aChartEngine支持:1、linechart(折线图)2、areachart(面积图;分区图,对比图)3、scatterchart(散点图)4、timechart(时间图;进度表)5、barchart(条形图;柱状图)6、piechart(饼图)7、bubblechart(气泡图)8、doughnutchart(圆环图)9、range(high-low)barchart(范围条形图)10、dialchart/gauge(拨号盘/压力表)11、combined(anycombinationofline,cubicline,scatter,bar,rangebar,bubble)chart(组合图)12、cubiclinechart(立方折线图)

上述所有支持的图表类型,都可以包含多个系列,都支持水平(默认)或垂直方式展示图表,并且支持许多其他的自定义功能。所有图表都可以建立为一个view,也可以建立为一个用于启动activity的intent.

下面是一个饼状图的源码事例:

package org.achartengine.chartdemo.demo.chart;


import org.achartengine.ChartFactory;

import org.achartengine.renderer.DefaultRenderer;


import android.content.Context;

import android.content.Intent;

import android.graphics.Color;


public class BudgetPieChart extends AbstractDemoChart {

public String getName() {

return "Budget chart";

}


public String getDesc() {

return "The budget per project for this year (pie chart)";

}

public Intent execute(Context context) {

double[] values = new double[] { 12, 14, 11, 10, 19 };//饼图分层5块,每块代表的数值

int[] colors = new int[] { Color.BLUE, Color.GREEN, Color.MAGENTA, Color.YELLOW, Color.CYAN };//每块饼图的颜色

DefaultRenderer renderer = buildCategoryRenderer(colors);

renderer.setZoomButtonsVisible(true);//设置显示放大缩小按钮

renderer.setZoomEnabled(true);//设置允许放大缩小.

renderer.setChartTitleTextSize(20);//设置图表标题的文字大小

return ChartFactory.getPieChartIntent(context, buildCategoryDataset("Project budget", values),

renderer, "Budget");//构建Intent, buildCategoryDataset是调用AbstraDemoChart的构建方法.

}


}

❹ android使用grah画柱状图,怎样设置横坐标标题的大小

第一步:
获取Android设备的屏幕大小
第二步:
在View对象中使用Canvas绘制蓝色边框与白色背景XY轴两条线,代码如下
第三步:
绘制柱状图标题
第四步:
根据数据集计算出每个系列数据所占X轴的大小,来绘制X 数据名称
第五步:
根据数据集计算出数据单元大小,并将数据单元映射为像素单元,绘制出标尺单位与
背景虚线
第六步:
根据数据集的值来计算出柱状图的高度,以及柱状图的宽度大小,映射为像素值以后
完成绘制。
程序效果图:

技术点详解:
在View中获取Android设备屏幕大小的方法为:

[java] view plain
// get default screen size from system service
WindowManager wm = (WindowManager) this.getContext().getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
int width = display.getWidth();
在Activity中获取Android设备屏幕大小的方法为:

[java] view plain
DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
int height = displaymetrics.heightPixels;
int wwidth = displaymetrics.widthPixels;
计算X轴中每个系列所占大小的代码为:

[java] view plain
int count = series.getSeriesCount();
int xUnit = (width - 2 - xOffset)/count;
其中xOffset, yOffset值计算公式如下:

[java] view plain
int xOffset = (int)(width * 0.1);
int yOffset = (int)(height * 0.1);
计算每个系类中,每个柱状图之间缝隙大小的为:

[java] view plain
int barWidth = (int)(xUnit/Math.pow(itemList.size(),2));
int startPos = xOffset + 2 + xPadding + xUnit*i;
int interval = barWidth/2;
其中barWidth表示每个柱状矩形的宽度,interval表示同一数据系列中表示

每个矩形之间的间隔。

❺ Android 应用里面怎么开发线性图标跟柱状图

如何实现:Android
柱状图或折线图不同数值范围(正负值)显示不同颜色
推荐你几个相关开源项目,可以根据需要自己选择,自己画还是比较麻烦的:
MPAndroidChart
强大的图表绘制工具,支持折线图、面积图、散点图、时间图、柱状图、条图、饼图、气泡图、圆环图、范围(高至低)条形图、网状图及各种图的结合;支持图的拖拽缩放;支持
Android
2.2
以上,支持横纵轴缩放,多指缩放,展现动画、高亮、保存到
sdcard、从文件读取图表
achartengine
强大的图表绘制工具,支持折线图、面积图、散点图、时间图、柱状图、条图、饼图、气泡图、圆环图、范围(高至低)条形图、拨号图/表、立方线图及各种图的结合
GraphView
绘制图表和曲线图的View,可用于Android上的曲形图、柱状图、波浪图展示
HoloGraphLibrary
绘制线状图、柱状图、饼状图
XCL-Charts
XCL-Charts基于原生的Canvas来绘制各种图表,在设计时,尽量在保证开发效率的同时,给使用者提供足够多的定制化能力。因此使用简便,同时具有相当灵活的定制能力。目前支持3D/非3D柱形图(Bar
Chart)、3D/非3D饼图(Pie
Chart)、堆积图(Stacked
Bar
Chart)、面积图(Area
Chart)、
折线图(Line
Chart)、曲线图(Spline
Chart)、环形图(Dount
Chart)、南丁格尔玫瑰图(Rose
Chart)、仪表盘(Dial
Chart)、刻度盘(Gauge
Chart)、雷达图(Radar
Chart)、圆形图(Circle
Chart)等图表。其它特性还包括支持图表缩放、手势移动、动画显示效果、高密度柱形显示、图表分界定制线、多图表的混合显示及同数据源不同类型图表切换等。
EazeGraph
Android
图表库,支持柱状图、分层柱状图、饼状图、线性图
WilliamChart
绘制图表的库,支持LineChartView、BarChartView和StackBarChartView三中图表类型,并且支持
Android
2.2及以上的系统。
HelloCharts
for
Android
支持折线图、柱状图、饼图、气泡图、组合图;支持预览、放大缩小,滚动,部分图表支持动画;支持
Android
2.2
以上

❻ android 做图表(柱状图,折线图)用什么做的

这个需要导入第三方专门做图表的库的,不过很多都是开源的免费使用。这个在网上一搜到处都是的。
你可以参考下这篇文章:http://blog.csdn.net/hejjunlin/article/details/51774964

❼ 柱状图怎么做

操作方法如下:

1、打开一个需要做柱状图的数据表。


相关介绍:

Microsoft Office是一套由微软公司开发的办公软件套装,它可以在Microsoft Windows、Windows Phone、Mac系列、iOS和Android等系统上运行。与其他办公室应用程序一样,它包括联合的服务器和基于互联网的服务。

❽ android 开发线型图,柱状图用什么开源的插件

为大家介绍一款图标开源库MPAndroidChart,它不仅可以在Android设备上绘制各种统计图表,而且可以对图表进行拖动和缩放操作,用起来非常灵活。MPAndroidChart同样拥有常用的图表类型:线型图、饼图、柱状图和散点图。
mpandroidchartlibrary.jar包下载地址:
https://github.com/PhilJay/MPAndroidChart/releases
下面主要实现以下饼状图:
1.从上面的地址中下载最新mpandroidchartlibrary-2-0-8.jar包, 然后到项目的libs中
2. 定义xml文件

❾ 请教android有没有画柱形图读例子

帕累托图(Pareto Chart),又称柏拉图、主次因素排列图等,是质量管理七大手法之一。之所以叫这个名字,是因为在概念上与帕雷托法则(Pareto principle)有关。在质量管理中,大多数的损失是由少数几个关键的质量问题引起的,而这些这些质量问题,往往又是少数几个关键的缺陷原因所导致的。使用帕累托图,可以直观地将影响质量问题的主要因素呈现出来,从而方便对质量问题作进一步的改进。帕累托图中包含一个柱形图和一个折线图,有左右两个纵坐标,及一个横坐标。左边纵轴表示缺陷原因的频数,右边纵轴表示缺陷原因的累计频率,横轴表示影响质量的各项因素,按其影响大小,从左至右依次排列。直方柱高度表示因素影响大小,折线表示各项累计频率的连线。二、帕累托图制作假设我们已经在wps表格中制作出一个如下的产品缺陷原因次数分布表。下面我们根据这些数据来制作一个帕累托图。先呈上最后完成的效果:具体步骤:1、选中单元格 B4:F11,点击“插入→图表”,“图表类型”选择“柱形图”,然后点“下一步”。2、点击“系列”选项卡,删除“累计频数”和“百分比”两个系列。然后点击“完成”。此时图表的样子:3、选中图表,点击“...帕累托图(Pareto Chart),又称柏拉图、主次因素排列图等,是质量管理七大手法之一。之所以叫这个名字,是因为在概念上与帕雷托法则(Pareto principle)有关。在质量管理中,大多数的损失是由少数几个关键的质量问题引起的,而这些这些质量问题,往往又是少数几个关键的缺陷原因所导致的。使用帕累托图,可以直观地将影响质量问题的主要因素呈现出来,从而方便对质量问题作进一步的改进。帕累托图中包含一个柱形图和一个折线图,有左右两个纵坐标,及一个横坐标。左边纵轴表示缺陷原因的频数,右边纵轴表示缺陷原因的累计频率,横轴表示影响质量的各项因素,按其影响大小,从左至右依次排列。直方柱高度表示因素影响大小,折线表示各项累计频率的连线。二、帕累托图制作假设我们已经在wps表格中制作出一个如下的产品缺陷原因次数分布表。下面我们根据这些数据来制作一个帕累托图。先呈上最后完成的效果:具体步骤:1、选中单元格 B4:F11,点击“插入→图表”,“图表类型”选择“柱形图”,然后点“下一步”。2、点击“系列”选项卡,删除“累计频数”和“百分比”两个系列。然后点击“完成”。此时图表的样子:3、选中图表,点击“图表工具”选项卡,在下拉列表中选择“系列‘累计百分比’”点击“更改图表类型”。在弹出的“图表类型”窗口中,选择“折线图”下第二行的第一个图表(数据点折线图),点击“确定”。4、点击“设置所选内容格式”按钮,在弹出窗口中点击“坐标轴”选项卡,在“系列绘制在”组中,选择“次坐标轴”。5、点击“数据标志”选项卡,在“数据标签包括”组中,勾选“值”。然后在“标签位置”中选择“上方”。此时,帕累图已基本绘制完成:

阅读全文

与android绘制柱状图相关的资料

热点内容
解压数据丢失 浏览:47
查一下电脑上文件夹锁 浏览:294
加密聊天消息密钥输入什么 浏览:541
32位windows编译器 浏览:962
ipad邮件无法连接发件服务器地址 浏览:61
php接收websocket 浏览:564
碧蓝航线如何查账号服务器 浏览:835
msx命令 浏览:750
怎么购买app内购 浏览:490
vivo手机怎么把安卓系统提示关闭 浏览:964
汽油分配控制单片机 浏览:579
python字典最大值最小值求和 浏览:281
php7pdo扩展 浏览:941
粉笔app如何看行测 浏览:817
如何举报不正当app 浏览:255
智能家居算法组 浏览:56
解压动画寿司 浏览:520
python3怎么连接mysql 浏览:425
程序员晒出一段代码 浏览:275
python爬虫崔庆才 浏览:767