aiChartsサンプル:ハイローチャート

概要

ハイローチャートは二つの独立値を使い、そのデータポイントの上限と下限を設定します。ハイローチャートは主に金融分野で株価の上限値と下限値を表すのに使われます。YとY1の整列はハイローチャートの中でそれぞれ上限と下限を表しています。

Hi Loチャートを作るには

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

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

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

import java.util.Calendar;

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 series = chartView.getSeries().get(0);

		double[] lo = {29, 29, 36, 31, 33, 36, 38, 39, 37, 37};
		double[] hi = {41, 46, 55, 45, 50, 55, 58, 58, 56, 59};

		Calendar calendar = Calendar.getInstance();

		calendar.clear();
		calendar.set(2010, Calendar.MARCH, 10);

		for (int i = 0; i < 10; i++)
		{
			series.getPoints().addDate(calendar, lo[i], hi[i]);
			calendar.roll(Calendar.DAY_OF_MONTH, true);
		}
	}
}

XMLチャート


<?xml version="1.0" encoding="utf-8"?>
<ai:chart xmlns:ai="http://www.artfulbits.com/android/aiCharts">
	<ai:area>
		<area.xaxis format="{0,date,dd MMM}" valuetype="Date"/>
		<area.yaxis format="{0} F"/>
	</ai:area>
	<ai:series type="Hilo" linewidth="5"/>
	<ai:title text="10-DAY WEATHER for Salt Lake City, UT" dock="Top"/>
</ai:chart>