aiChartsサンプル:積み上げ縦棒チャート

概要

積み上げ縦棒チャートは同じ区分ごとに一つの縦棒に積み重なっているチャートを表します。それぞれの棒の長さはそれぞれの区分の合計によって表わされています。積み上げ縦棒グラフは分かれ目によってあらわされているデータの絶対値を比べる場合、または一つの縦棒に積み重なっているデータの合計を比べることに適しています。

積み上げ縦棒チャートを作るには

aiChartsは少ないコードで簡単に積み上げ縦棒チャートを作ることができます。
積み上げ縦棒チャートを作るには、まずはChartSeriesのインスタンスを2つ作り、チャートタイプ(作図タイプ)をStackedColumnに設定し、それぞれの区分ごとにデータをセットします。

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

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

イメージ図

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

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

		series1.getPoints().setData(new double[]{ 30, 10, 20, 25, 30 } );
		series2.getPoints().setData(new double[]{ 40, 35, 45, 37, 43 } );
	}
}

XMLチャート


<?xml version="1.0" encoding="utf-8"?>
<ai:chart
	xmlns:ai="http://www.artfulbits.com/android/aiCharts">
	<ai:area />
	<ai:series
		type="StackedColumn"
		background="@drawable/column"
		border="0" />
	<ai:series
		type="StackedColumn"
		background="@drawable/statue"
		border="0" />
</ai:chart>