aiChartsサンプル:極座標チャート

概要

極座標チャートはグループ化された360度の円の中でどこに当てはまるのかを点で表わしています。値は円の中心からその点までの距離で表わされます。中心から離れれば離れるほど、その値は大きくなります。極座標チャートは非方向的なデータを角度の分散によってあらわすことができます。非方向的なデータの値は極座標チャートの半径に対応して配置されます。

極座標チャートは地学的または幾何学的な角度でも作図できます。凡例の内容は半径で表わされている値により変化します。

極座標チャートを作るには

極座標チャートを作るには、まずはChartSeriesのインスタンスを作り、チャートタイプ(作図タイプ)をPolarに設定し、データをセットします。

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

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

イメージ図

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.polarsample;

import java.util.Random;

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

import android.app.Activity;
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 series1 = chartView.getSeries().get(0);
		ChartSeries series2 = chartView.getSeries().get(1);
		ChartSeries series3 = chartView.getSeries().get(2);

		for (int i = 0; i < 50; i++)
		{
			series1.getPoints().addXY(i, i);
			series2.getPoints().addXY(i, 2 * i);
			series3.getPoints().addXY(i, 3 * i);
		}
	}
}

XMLチャート


<?xml version="1.0" encoding="utf-8"?>
<ai:chart xmlns:ai="http://www.artfulbits.com/android/aiCharts">
	<ai:area>
		<area.yaxis position="Top"/>
	</ai:area>

	<ai:series type="Polar" />
	<ai:series type="Polar" />
	<ai:series type="Polar" />

	<ai:title text="Just a line..." dock="Right"/>
</ai:chart>