aiChartsサンプル:散布図

概要

散布図は2つの値の相互作用を見る為に使用されます。散布図はX軸に時間を設定しチャートを作成する必要がない特徴があります。散布図は一方のデータをX軸上に展開し、もう一方をY軸上で展開していきます。これは科学的または統計的な数値の比較および表示によく使用され、このチャートはたくさんのデータを時間軸とは関係なく表示できます。

その中でも最も有効的に使われるのは2つの値による非線形の関係を見ることです。散布図ではどのような原因でこの関係が出来上がるのかはわかりませんが、その関係性が存在するか否かと、存在するのならばどのような強さでその関係性が存在するのかを確認できます。さらにもしデータがシンプルな関係性を混ぜたようなものならば、このような関係性は一つ上の層から指定された(superimposed)パターンにより把握できます。

散布図を作るには

aiChartsは少ないコードで簡単に散布図を作ることができます。
散布図を作るには、まずはChartSeriesのインスタンスを作り、チャートタイプ(作図タイプ)をPointに設定し、データをセットします。

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

サンプルダウンロードはこちら(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><
/pre>

Java


package com.artfulbits.aiCharts.pointsample;

import java.util.Random;

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

import com.artfulbits.aiCharts.ChartView;
import com.artfulbits.aiCharts.Base.ChartArea;
import com.artfulbits.aiCharts.Base.ChartAxisStripLine;
import com.artfulbits.aiCharts.Base.ChartSeries;

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);

		Random random = new Random();

		for (int i = 0; i < 20; i++)
		{
			series.getPoints().addXY(i, random.nextInt(20));
		}

		ChartAxisStripLine vStripLine = new ChartAxisStripLine();
		ChartAxisStripLine hStripLine = new ChartAxisStripLine();

		vStripLine.setStart(8);
		vStripLine.setWidth(4);

		hStripLine.setStart(8);
		hStripLine.setWidth(4);

		ChartArea area = chartView.getAreas().get(0);

		area.getDefaultXAxis().getStripLines().add(vStripLine);
		area.getDefaultYAxis().getStripLines().add(hStripLine);
	}
}

XMLチャート


<?xml version="1.0" encoding="utf-8"?>
<ai:chart xmlns:ai="http://www.artfulbits.com/android/aiCharts">
	<ai:area>
		<area.xaxis labels_visible="false"/>
		<area.yaxis labels_visible="false"/>
	</ai:area>
	<ai:series type="Point" marker="@drawable/bullet" markerSize="24"/>
	<ai:title text="Dammit! I have missed!" dock="Right"/>
</ai:chart>