android饼状图表
来源:互联网 发布:mac xshell下载 编辑:程序博客网 时间:2024/04/28 18:00
android饼状图表
- 博客分类:
- 移动android开发
相信图表再很多统计应用都会应用,再这里我想向介绍一个第三方的jar包--j4lChartAndroid.jar,再这里基本上平时用到的图表都有,这里我们就只介绍饼状3d图表
1、xml文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout android:id="@+id/course_viewflipper"
android:background="#FFFFFF" android:layout_width="fill_parent"
android:layout_height="fill_parent">
</LinearLayout>
</LinearLayout>
2、activity类
public class ShowImage extends Activity {
/** Called when the activity is first created. */
ChartLoader cha = new ChartLoader();
ChartPanel chartPanel;
static List<ddd> list;
static double[] valueList;
static String[] labellist;// 标签值
static boolean[] gapsValueList;
static FillStyle[] fillStyle_color;
static ChartColor[] color = new ChartColor[] {
GraphicsProvider.getColor(ChartColor.CYAN),
GraphicsProvider.getColor(ChartColor.BLUE),
GraphicsProvider.getColor(ChartColor.GREEN),
GraphicsProvider.getColor(ChartColor.YELLOW),
GraphicsProvider.getColor(ChartColor.RED),
GraphicsProvider.getColor(ChartColor.SKYBLUE),
GraphicsProvider.getColor(ChartColor.PINK) };
static int[] labelColor = new int[] { Color.CYAN, Color.BLUE,
Color.GREEN, Color.YELLOW, Color.RED, Color.parseColor("#00CCFF"), Color.parseColor("#ffc0cb") };
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
list = getData();
getValues();
LinearLayout imageview = (LinearLayout) findViewById(R.id.course_viewflipper);
chartPanel = new ChartPanel(this);
chartPanel.setChart(Example4());
imageview.addView(chartPanel);
}
public List<ddd> getData() {
List<ddd> l = new ArrayList<ddd>();
ddd d1 = new ddd();
d1.setDoor("南门");
d1.setTotal(100);
ddd d2 = new ddd();
d2.setDoor("西门");
d2.setTotal(200);
ddd d3 = new ddd();
d3.setDoor("北门");
d3.setTotal(300);
ddd d4 = new ddd();
d4.setDoor("东门");
d4.setTotal(400);
l.add(d1);
l.add(d2);
l.add(d3);
l.add(d4);
return l;
}
class ddd {
String door;
double total;
public String getDoor() {
return door;
}
public void setDoor(String door) {
this.door = door;
}
public double getTotal() {
return total;
}
public void setTotal(double total) {
this.total = total;
}
}
public void getValues(){
valueList= new double[list.size()];// 数值组
gapsValueList =new boolean[list.size()];// 饼块之间是否分开组
fillStyle_color= new FillStyle[list.size()];// 颜色组
labellist= new String[list.size()];// // 图解label组
for (int i = 0; i < list.size(); i++) {
labellist[i] = list.get(i).getDoor();
valueList[i] = list.get(i).getTotal();
fillStyle_color[i] = new FillStyle(color[i]);
if(i<list.size()-1){
gapsValueList[i] = true;
}
}
}
// ==============================================
protected void onDestroy() {
if (chartPanel != null)
if (chartPanel.getChart() != null)
chartPanel.getChart().stopUpdater();
super.onDestroy();
}
public static Chart Example4() {
PieDataSerie data1 = new PieDataSerie(valueList, fillStyle_color,
gapsValueList, labellist);
data1.valueFont = GraphicsProvider
.getFont("Arial", ChartFont.PLAIN, 14);
// legend
Legend l = new Legend();
l.background = new FillStyle(
GraphicsProvider.getColor(ChartColor.WHITE));
l.border = new LineStyle(1,
GraphicsProvider.getColor(ChartColor.BLACK),
LineStyle.LINE_NORMAL);
for (int i = 0; i < list.size(); i++) {
l.addItem(labellist[i], new FillStyle(color[i]));
}
// create title
Title title = new Title("");
// plotter
PiePlotter plot = new PiePlotter();
// 3D effect
plot.effect3D = true;
plot.border = new LineStyle(1, GraphicsProvider.getColor(ChartColor.BLACK),LineStyle.LINE_NORMAL);
data1.textDistanceToCenter = 1.3;
plot.labelFormat = "#PERCENTAGE#";
// create chart
Chart chart = new Chart(title, plot, null, null);
// chart background
chart.back = new FillStyle(GraphicsProvider.getColor(ChartColor.WHITE));
// chart.back.gradientType = FillStyle.GRADIENT_VERTICAL;
// add legend
chart.legend = l;
// legend position and layout
chart.layout = Chart.LAYOUT_LEGEND_RIGHT;
chart.topMargin = 0.1;
chart.bottomMargin = 0.4; // 20%
chart.leftMargin =0.1;
l.verticalLayout = true;
// add data
chart.addSerie(data1);
chart.setHeight(250);
chart.setWidth(320);
return chart;
}
}
- android饼状图表
- 手撸一个Android饼状图表
- 手撸一个Android饼状图表(空心圆)
- JS插件实现图表显示(曲线图表、柱形图表、饼状图表)
- JS插件实现图表显示(曲线图表、柱形图表、饼状图表)
- 使用D3制作统计图表、线性图表、水平柱状图表、饼图 -- (五)饼状图表
- android图表
- Android 图表
- android图表
- android图表
- Android图表
- android 图表引擎
- Android 图表绘制
- Android 图表绘制
- android图表的实现
- android 图表引擎
- Android图表处理
- Android 图表引擎 AChartEngine
- office2003装不了
- 类成员函数作为其他类的友元函数的实现(c++语言)
- Zend 混淆函数算法
- 删除SQL Server中所有数据的方法
- Hibernate映射详解(二)--多对一,一对多单向,一对多双向关联映射
- android饼状图表
- java大数类
- 修改版——制作交叉编译工具链的方法总结
- 数据结构实验-查找-哈希表
- 正则表达式引擎 NFA 和DFA
- Lua学习笔记1
- 第四届云计算大会第一天归来感想
- Linux性能分析与调整命令汇总
- ioc学习笔记