`
bogongjie
  • 浏览: 235929 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

android 图表引擎AChartEngine(线性图)

阅读更多

 

使用方法参考前面柱状图,下面定义线性图类

package com.example.test.achartengine;

import java.util.ArrayList;
import java.util.List;

import org.achartengine.ChartFactory;
import org.achartengine.chart.PointStyle;
import org.achartengine.model.XYMultipleSeriesDataset;
import org.achartengine.renderer.XYMultipleSeriesRenderer;
import org.achartengine.renderer.XYSeriesRenderer;

import android.content.Context;
import android.graphics.Color;
import android.graphics.Paint.Align;
import android.view.View;

public class LinearChart {

	public AbstractDemoChart abstractDemoChart;
	public XYMultipleSeriesRenderer renderer;
	public XYMultipleSeriesDataset dataset;

	private String[] titles;
	private List<double[]> Xvalues = new ArrayList<double[]>();
	private List<double[]> Yvalues = new ArrayList<double[]>();
	private int[] colors;
	private PointStyle[] styles;

	public LinearChart(Context context) {
		abstractDemoChart = new AbstractDemoChart();

		init();
	}

	private void init() {
		titles = new String[] { "Monday", "Tuesday", "Wednesday", "Thursday" };
		for (int i = 0; i < titles.length; i++) {
			Xvalues.add(new double[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 });
		}

		Yvalues.add(new double[] { 12.3, 12.5, 13.8, 16.8, 20.4, 24.4, 26.4, 26.1, 23.6, 20.3, 17.2, 13.9 });
		Yvalues.add(new double[] { 10, 10, 12, 15, 20, 24, 26, 26, 23, 18, 14, 11 });
		Yvalues.add(new double[] { 5, 5.3, 8, 12, 17, 22, 24.2, 24, 19, 15, 9, 6 });
		Yvalues.add(new double[] { 9, 10, 11, 15, 19, 23, 26, 25, 22, 18, 13, 10 });

		colors = new int[] { Color.RED, Color.GREEN, Color.BLUE, Color.YELLOW };

		styles = new PointStyle[] { PointStyle.CIRCLE, PointStyle.DIAMOND, PointStyle.TRIANGLE, PointStyle.SQUARE };

		renderer = abstractDemoChart.buildRenderer(colors, styles);

		dataset = abstractDemoChart.buildDataset(titles, Xvalues, Yvalues);
		
//		dataset.addSeries(series);
	}

	public View execute(Context context) {

		int lenght = renderer.getSeriesRendererCount();
		for (int i = 0; i < lenght; i++) {
			((XYSeriesRenderer) renderer.getSeriesRendererAt(i)).setFillPoints(true);
		}
		abstractDemoChart.setChartSettings(renderer, "Temperatuer", "Week", "Temp", 0, 13, -10, 30, Color.LTGRAY, Color.LTGRAY);
		renderer.setXLabels(12);
		renderer.setYLabels(10);
		renderer.setShowGrid(true);
		renderer.setXLabelsAlign(Align.RIGHT);
		renderer.setYLabelsAlign(Align.RIGHT);
		renderer.setZoomButtonsVisible(false);
		renderer.setPanEnabled(true, false); // 左右移动
		renderer.setPanLimits(new double[] { -10, 20, -10, 40 });
		renderer.setZoomLimits(new double[] { -10, 20, -10, 40 });

		// XYSeries series = dataset.getSeriesAt(0);
		// series.addAnnotation("Vacation", 6, 30);
		return ChartFactory.getLineChartView(context, dataset, renderer);
	}
}

 

分享到:
评论

相关推荐

    Android报表库aChartEngine 横轴为时间曲线图表

    该库支持多种图表类型,包括线性图(Line Chart)、散点图(Scatter Chart)、条形图(Bar Chart)等,并且能够进行自定义配置,如颜色、线条样式、字体等,以满足不同设计需求。 **二、时间曲线图表的基础概念** ...

    achartengine 利用随机数产生的动态线性图和柱形图

    AChartEngine是一款强大的开源图表库,专为Android平台设计,用于在移动设备上创建各种类型的图表,如线性图、柱状图、饼图等。它提供了丰富的自定义选项,可以方便地集成到你的应用程序中,展示数据变化趋势或者...

    Android 图表生成类库.zip

    3. Charts4Android:这个库由Google的Grafika项目提供,主要用于绘制简单的2D图形,包括线性图和条形图。它的特点是轻量级,适合对性能有较高要求的应用。 4. AnyChart:AnyChart是一个跨平台的JavaScript图表库,...

    achartengine分段画动态曲线,可局部刷新

    AChartEngine是一个轻量级的图表库,适用于Android平台,它提供了多种图表类型,包括线性图、饼图、柱状图等。在这个场景中,我们将深入探讨如何使用AChartEngine来实现分段画动态曲线,并进行局部刷新。 首先,...

    Android高级应用源码-里面有曲线图 折线图 双曲线图 柱形图 饼图,在achartengine 的基础上 更改了一些颜色

    AChartEngine是一个开源的Android图表库,它提供了多种类型的图表,包括线性图(LineChart)、散点图(ScatterChart)、条形图(BarChart)、饼图(PieChart)和更多。这个库易于使用且功能强大,适合各种项目中集成...

    Android代码-多种统计图表源码.zip

    - MPAndroidChart是一个流行的Android图表库,它支持线性图、面积图、柱状图、饼图、雷达图、极坐标图等多种图表。这个库的源码可能包含了如何配置图表、设置数据、自定义样式以及交互功能的示例。 3. **数据绑定...

    Android的移动应用图表生成类库.rar

    下面,我们将详细讨论几个常见的Android图表库及其特性。 1. MPAndroidChart:这是一个广泛使用的开源库,提供了丰富的图表类型,包括线图、柱状图、饼图、雷达图等。其API简洁易用,支持自定义图表样式、动画效果...

    Android应用源码之折线图-IT计算机-毕业设计.zip

    首先,Android提供了多种图表库,如MPAndroidChart、AchartEngine、androidplot等,用于创建折线图。本项目可能使用了其中的一个或多个,特别是MPAndroidChart,这是一个非常流行且功能丰富的库,支持多种图表类型,...

    Android 加速度传感器曲线图

    这个博文“Android 加速度传感器曲线图”很可能是关于如何利用Android SDK来获取加速度传感器数据,并将这些数据可视化成曲线图的教程。在Android应用开发中,加速度传感器通常用于创建各种交互式体验,比如游戏、...

    简单好用的线形图viewdemo

    标题"简单好用的线形图viewdemo"表明我们关注的是一个专门用于绘制线性图表的视图组件,它专注于提供简洁、高效的线性图展示功能。描述提到“只有线性图没有别的图”,这暗示了该组件可能是一个轻量级的解决方案,专...

    实时曲线图(加速度三轴曲线图)

    AChartEngine是一个流行的Android图表库,它提供了丰富的图表类型,包括折线图、饼图、条形图等,便于开发者轻松地在应用程序中集成数据可视化功能。在描述中提到的案例中,该库被用于实现加速度的三轴实时曲线图,...

    Android常用控件

    在Android中,我们可以使用第三方库如MPAndroidChart、AchartEngine或Google的Material Design图表组件来实现各种图表,如折线图、柱状图、饼图等,用于数据的可视化呈现。这些库提供了丰富的配置选项,可以定制颜色...

    Android应用源码之空气质量检测客户端项目-IT计算机-毕业设计.zip

    10. **图表展示**:数据可视化是重要的部分,可能使用MPAndroidChart或AChartEngine库来绘制折线图、饼图等,显示空气质量指数变化。 11. **响应式设计**:为了适应不同屏幕尺寸,项目应遵循Android的响应式设计...

    安卓Android源码——安卓画曲线图代码.zip

    本压缩包“安卓Android源码——安卓画曲线图代码.zip”包含了一份示例代码,用于帮助开发者了解如何在Android平台上实现动态曲线图的绘制。 在Android中,绘制曲线图主要有两种方式:一是使用自定义View,二是借助...

    安卓画曲线图代码.zip

    这个"安卓画曲线图代码.zip"文件很可能是包含了一个示例项目,演示如何在Android应用中创建动态或者静态的曲线图表。让我们深入探讨一下在Android中实现这一功能的相关知识点。 1. **Android SDK与Eclipse/Android ...

    Android典型技术模块开发详解

    8.1.1 线性布局 8.1.2 相对布局 8.1.3 绝对布局 8.1.4 Frame布局 8.1.5 表格布局 8.2 Tab布局 8.3 ScrollView 8.4 ListView(列表) 8.4.1 继承自ListActivity 8.4.2 ListView灵活运用 8.5 GirdView(网格) 8.6 ...

Global site tag (gtag.js) - Google Analytics