aiChartsサンプル:横棒チャート

概要

横棒チャートは長方形のグラフで、横の長さがそれぞれの値を表しているチャートです。横棒チャートは時間の経過とともに得たデータ、または違う条件のもとで実験を行った2つ以上の値を比べるのに役立ちます。通常あまり大きなデータセットでは使われません。これは一時の、継続性のない情報を表示するのに役立ちます。aiChartsではY軸をラベリングに使います。このような場合、Y軸により多く文字を書き込むゆとりもあります。

横棒チャートを作るには

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

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

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

イメージ図

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

import java.util.Calendar;

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

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

		double[] data = { 74, 38, 56, 67, 49, 51, 34 };
		Calendar calendar = Calendar.getInstance();

		calendar.clear();
		calendar.set(2010, 2, 12);

		for (int i = 0; i < data.length; i++)
		{
			series1.getPoints().addDate(calendar, data[i]);
			calendar.add(Calendar.DAY_OF_MONTH, 1);
		}
	}
}

XMLチャート


<?xml version="1.0" encoding="utf-8"?>
<chart>
	<area>
		<area.xaxis title="Sales"/>
		<area.yaxis title="Date"  valuetype="Date"/>
	</area>
	<series type="Bar" color="#FFE0400A" showlabel="true" halign="Near"/>
</chart>