aiChartsサンプル:スプライン面積

概要

スプライン面積チャートはそれぞれのデータの点にフィットされた曲線の下を塗りつぶしていくチャートです。このチャートは限られたデータから中間位置または先にある点の近似値を見つけることができます。

スプライン面積チャートを作るには

スプライン面積チャートを作るには、まずはChartSeriesのインスタンスを作り、チャートタイプ(作図タイプ)をSpline Areaに設定し、データをセットします。

ソースコードは以下のようになります。

サンプルダウンロードはこちら(ZIP,16KB)

イメージ図

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"
    >
  <com.artfulbits.aiCharts.ChartView
    android:id="@+id/chartView"
    chart="@xml/chart"
    android:background="@android:drawable/alert_dark_frame"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"/>
</LinearLayout>

Java


package com.artfulbits.aiCharts.splineareasample;

import com.artfulbits.aiCharts.ChartView;
import com.artfulbits.aiCharts.Annotations.ChartAnnotation;
import com.artfulbits.aiCharts.Annotations.ChartAnnotationPosition;
import com.artfulbits.aiCharts.Annotations.ChartDrawableAnnotation;
import com.artfulbits.aiCharts.Base.ChartSeries;
import com.artfulbits.aiCharts.Enums.Alignment;

import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.os.Bundle;

public class MainActivity extends Activity
{
	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		ChartView chartView = (ChartView)findViewById(R.id.chartView);
		ChartSeries series = chartView.getSeries().get(0);

		double[] hill = { 90, 85, 80, 30, 25, 20, 10, 5, 0};

		series.getPoints().setData(hill);

		Drawable drawable = getResources().getDrawable(R.drawable.bike);
		ChartDrawableAnnotation annotation = new ChartDrawableAnnotation(drawable);

		annotation.setPosition(ChartAnnotationPosition.relativeToSeries("hill", 1));
		annotation.setVerticalAlignment(Alignment.Near);

		chartView.getChart().getAnnotations().add(annotation);
 }
}

XMLチャート


<?xml version="1.0" encoding="utf-8"?>
<ai:chart xmlns:ai="http://www.artfulbits.com/android/aiCharts">
	<ai:area>
		<ai:area.xaxis labels_visible="false"/>
		<ai:area.yaxis labels_visible="false"/>
	</ai:area>
	<ai:series name="hill" type="SplineArea"/>
</ai:chart>