未経験からのiPhoneアプリ開発blog

iPhoneアプリ開発の独学をしています。学習した内容をメモ的に記録していきます。

アプリ開発『WeightControl』vol.25 Core-PlotのX軸を日付にする方法

 

Core-PlotのX軸を日付にする方法ですが、まず、下記のサイトを参考にカスタマイズしてみました。

Core-Plotをじっくり使ってみる(X軸を日付にする) - Debian GNU/Linux 3.1 on PowerMac G4

 

今回は30日前の日付から今日までの日付を(◯◯/◯◯)の形式でX軸に表示させたいのですが、上記サイトを踏まえると、準備として、下記のようなコードが必要でしたので、viewDidAppear内に書きました。

------------------------------

// X軸を日付にするための準備

NSDate *today = [NSDate date];

NSTimeInterval oneDay = 24.0f * 60.0f * 60.0f;

 

// 30日前の日付を求める

NSDateComponents *comps = [[NSDateComponents alloc]init];

NSCalendar *calendar = [NSCalendar currentCalendar];

comps.day = -30;

NSDate *dateBefore30 = [calendar dateByAddingComponents:comps toDate:today options:0];

 

// 日付を◯◯/◯◯の形式にして、30日前の日からグラフがスタートするように設定

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

[dateFormatter setDateFormat:@"MM/dd"];

CPTTimeFormatter *timeFormatter = [[CPTTimeFormatter alloc] initWithDateFormatter:dateFormatter];

timeFormatter.referenceDate = dateBefore30;

------------------------------

 

timeFormatter.referenceDateに入れた日付がグラフのX軸のスタート日になるので、ここを30日前の日付にしておくのがミソです。

 

さて、これで、X軸とY軸のラベルのカスタマイズが終わったので、後は、実際に過去30日間の体重データをどのように保存して、このグラフに反映させるのかについてやっていきます。今プロットしているデータはランダムに生成した値なので。

 

f:id:tsutomu822:20131129170507p:plain