安卓图表控件WilliamChart使用指南

WilliamChart是github上的一个android图表控件,项目地址:https://github.com/diogobernardino/WilliamChart

该图表控件效果不错,使用也比较方便。

参考它提供的示例程序,我写了一个更加简单的图表程序,步骤如下:

1.从github上下载项目,将其library项目导入adt;

2.将其sample项目导入adt;

3.创建自己的工程,引用library项目,并将sample项目中的DataRetriever类拷贝到本项目的源代码目录中;

4.创建一个chart_layout.xml代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
   <com.db.chart.view.LineChartView
		xmlns:chart="http://schemas.android.com/apk/res-auto"
		android:id="@+id/linechart"
	    android:layout_width="match_parent"
	    android:layout_height="0dp"
	    android:layout_weight=".30"
	    android:paddingTop="15dp"
	    android:paddingBottom="5dp"
	    android:paddingLeft="10dp"
	    android:paddingRight="10dp"
	    chart:chart_shadowDy="1dp"
	    chart:chart_shadowRadius="1dp"
	    chart:chart_shadowColor="#80000000"
	    chart:chart_axisColor="@color/axis"
	    chart:chart_axisBorderSpacing="0dp">
	</com.db.chart.view.LineChartView>

</LinearLayout>

5.创建一个Activity类,代码如下:

package com.example.wxb_example;

import com.db.chart.model.LineSet;
import com.db.chart.model.Point;
import com.db.chart.view.LineChartView;
import com.db.chart.view.YController;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;

public class WilliamChartActivity extends Activity {
	//线性图表控件
	private static LineChartView mLineChart;
	private final static String[] mLabels = {"ANT", "GNU", "OWL", "APE", "COD","YAK", "RAM", "JAY"};

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.chart_layout);
		mLineChart = (LineChartView) findViewById(R.id.linechart);

		LineSet data;
		mLineChart.reset();

		int nSets = 2;  //两条线
		int nPoints = 5;  //每条线5个点
		for(int i = 0; i < nSets; i++){

			data = new LineSet();
			for(int j = 0; j < nPoints; j++)
				data.addPoint(new Point(mLabels[j], DataRetriever.randValue(0, 10)));

			data.setDots(DataRetriever.randBoolean())
				.setDotsColor(Color.parseColor(DataRetriever.getColor(DataRetriever.randNumber(0,2))))
				.setDotsRadius(DataRetriever.randDimen(4,7))
				.setLineThickness(DataRetriever.randDimen(3,8))
				.setLineColor(Color.parseColor(DataRetriever.getColor(i)))
				.setDashed(DataRetriever.randBoolean())
				.setSmooth(DataRetriever.randBoolean())
				;

			if(i == 2){
				//data.setFill(Color.parseColor("#3388c6c3"));
				int[] colors = {Color.parseColor("#3388c6c3"), Color.TRANSPARENT};
				data.setGradientFill(colors, null);
			}

			if(DataRetriever.randBoolean())
				data.setDotsStrokeThickness(DataRetriever.randDimen(1,4))
				.setDotsStrokeColor(Color.parseColor(DataRetriever.getColor(DataRetriever.randNumber(0,2))))
				;

			mLineChart.addData(data);
		}

		mLineChart.setGrid(DataRetriever.randPaint())
			.setVerticalGrid(DataRetriever.randPaint())
			.setHorizontalGrid(DataRetriever.randPaint())
			//.setThresholdLine(2, randPaint())
			.setYLabels(YController.LabelPosition.NONE)
			.setYAxis(false)
			.setXLabels(DataRetriever.getXPosition())
			.setXAxis(DataRetriever.randBoolean())
			.setMaxAxisValue(10, 2)
			.animate(DataRetriever.randAnimation(null, nPoints))
			//.show()
			;

	}

}

注意这个类中引用了拷贝过来的DataRetriever类。

运行该项目,效果如下:

其中的效果可以自己再另行操作。

时间: 2024-10-02 22:53:14

安卓图表控件WilliamChart使用指南的相关文章

基于MVC+EasyUI的Web开发框架经验总结(4)--使用图表控件Highcharts

在我们做各种应用的时候,我们可能都会使用到图表统计,以前接触过一些不同的图表控件,在无意中发现了图表控件Highcharts,其强大的功能和丰富的互动效果,令人难以忘怀.本篇主要介绍在Web开发中使用图表控件Highcharts,以及对其进行统一汉化等操作,让我们的程序功能更加丰富,内容更加美观. 1.Highcharts基础介绍 Highcharts是一个非常流行,界面美观的纯Javascript图表库.它主要包括两个部分:Highcharts和Highstock.Highcharts可以为您

HighChats图表控件显示精度小数点的方法

相信大家对highchats这个图表控件并不陌生,最近在项目中用到它,但是某些字段需要显示为小数点,顾查找资料文档发现下面两个方式可以实现: 初始化时候添加如下两个参数 tooltip:{??? formatter:function(){??? return''+this.point.name+': '+Math.round(this.percentage)+' %';??? }},plotOptions:{?????? pie:{?????? allowPointSelect:true,???

基于MVC4+EasyUI的Web开发框架经验总结(4)--使用图表控件Highcharts

在我们做各种应用的时候,我们可能都会使用到图表统计,以前接触过一些不同的图表控件,在无意中发现了图表控件Highcharts,其强大的功能和丰富的互动效果,令人难以忘怀.本篇主要介绍在Web开发中使用图表控件Highcharts,以及对其进行统一汉化等操作,让我们的程序功能更加丰富,内容更加美观. 1.Highcharts基础介绍 Highcharts是一个非常流行,界面美观的纯Javascript图表库.它主要包括两个部分:Highcharts和Highstock.Highcharts可以为您

WP8.1学习系列(第十章)——中心控件Hub设计指南

Windows Phone 应用商店应用中的中心控件指南 在本文中 说明 示例 用法指南 设计指南 相关主题 重要的 API Hub (XAML) HubSection (XAML) 说明 中心控件(在手机上,仅适用于按纵向使用)显示一系列可以来回平移的区域.它是应用的全屏容器和导航模型. 中心(以前称为全景)体验是本机 Windows Phone 外观的一区域.与旨在适合手机屏幕边界的应用不同,中心应用通过使用超出屏幕边界的水平虚拟宽画布提供了一个查看控件.数据和服务的独特方式.在 Windo

二十六、【开源框架】EFW框架Winform前端开发之Grid++Report报表、条形码、Excel导出、图表控件

回<[开源]EFW框架系列文章索引>        EFW框架源代码下载V1.2:http://pan.baidu.com/s/1hcnuA EFW框架实例源代码下载:http://pan.baidu.com/s/1o6MAKCa 前言:本章介绍除DotNetBar2控件套件之外的另外一些常用控件,包括Grid++Report报表.条形码.Excel导出.图表控件ZedGraph:类似这些控件网上免费开源的太少了,经过一番对比和使用感受最后决定把这几个控件整合到EFW框架中供大家选择使用: 本

功能强大的商业图表控件Essential Chart for ASP.NET MVC

Essential Chart for ASP.NET MVC是一款功能强大的商业图表控件,提供了创新的数据对象模型可以很容易地与多种数据源进行绑定,提供了35种图表类型,支持2D和3D显示,多轴显示.实时数据显示.导出为图片以及打印和打印预览,软件开发人员可以使用该控件开发出专业的商业应用程序. 具体功能: 支持无限制数据序列和无限制数据点 支持多种坐标轴样式 支持自定义轴标签和显示方向 支持轴反转和颠倒轴 支持自定义数据点 支持图表放大和滚动以及panning 控件提供了交互式地十字光标,可

图表控件Highcharts在AngularJS中的使用

一.Highcharts简介 Highcharts是一款非常好用的前端图表控件,正如其中文网介绍的那样:功能强大.开源.美观.图表丰富.兼容绝大多数浏览器的纯js图表库. 如果你的项目是基于jquery的,那么你可以轻松的把它拿过来使用,直接在页面中引入js文件并按照官方的API文档进行配置即可.下面提供了Highcharts的中英文官网: (1) Highcharts英文网:http://www.highcharts.com/ (2) Highcharts中文网:http://www.hcha

Silverlight 图表控件 Visifire 常用属性

首要介绍 Visifire 常用属性的设置,用来生成不合样式的图例 设置Chart的属 //设置title的值 // 创建一个题目标对象 Title title = new Title(); // 设置题目标名称 title.Text = titleText; title.Padding = new Thickness(0, 10, 5, 0); // 向图标添加题目 chart.Titles.Add(title); //是否显示3D结果 chart.View3D = view3D; //图表数

图表控件Edraw Max免费下载地址

Edraw Max软件能使学生.老师和商务人士创建并发布各种设计图,它是一个集所有功能于一身的图表控件软件,它可以轻松地创建具有专业外观的流程图.组织结构图.网络图.商业演示图.建筑设计图.思维导图.时装设计图.UML图.工作流程.程序结构.web设计图.机电工程图.定向地图.数据库图等等. 具体功能: 用户界面是MS Office 2007的样式.完整的ribbon特性. 添加了主题.彩色主题.效果和字体等功能.通过修改活动主题可以很容易的修改整个图表.通过使用新的主题特性,您可以通过一次简单