2012-02-22 26 views
0

iPhoneアプリケーションにCore Plotグラフがあり、x軸のラベル数を制限したい。現在、私はCPTLabelingPolicyNoneを使用していて、一度10以上のエントリがあると、互いに重複し始めるという事実を除いて、問題なくx軸にNSDates(Jan 2のように表示されます)を表示しています。私は本当にx軸に最大7〜8個のエントリを追加したいと思っています。コアプロットx軸ラベル重複/ CPTLabellingPolicyAutomatic日付が表示されない

私はCPTAxisLabelingPolicyAutomaticを使用し、preferredNumberOfTicksを自分の望むものに設定できると読んでいます。問題は私がそれをするとき、私はx軸上で日付をもう取得しない、私は0.0,0.1などのような10進数を得る。私はこれで専門家ではないので、なぜ私は本当にわからないもう日付を取得していません。誰もがこれについていくつかの洞察を発することができますか?

ありがとうございました。

答えて

1

CPTTimeFormatterを使用します。

NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; 
dateFormatter.dateStyle = kCFDateFormatterShortStyle; 
CPTTimeFormatter *timeFormatter = [[[CPTTimeFormatter alloc] initWithDateFormatter:dateFormatter] autorelease]; 
timeFormatter.referenceDate = refDate; 
axis.labelFormatter = timeFormatter; 

コアプロット例のいくつかのアプリがプロットギャラリーとDatePlotを含めて、この機能を示しています。

+0

これまでにありがとうございました。私はこれらのプロジェクトを見て、timeFormatterがどこで使われているかを見てきましたが、私の場合はそれを実装する方法がまだ分かりません。ユーザーは異なる日付でエントリを作成していますが、エントリの点では1週間離れていたり、1か月離れている可能性があります。 CPTTimeFormatterを使用してグラフに正しい日付エントリを与えるにはどうすればよいですか?私は今、timeFormatterなしでこれをやっていますが、これを使って自動ラベル付けポリシーを使用しなければならないと思いますか? – Jamie

+0

日付範囲が日、週、または月になるほど変化する場合、自動ラベル付けがうまく機能しないことがあります。軸上の値が日付として扱われていることは認識していません。値を常に日(週や月ではなく)として書式設定する場合は、おそらく問題ありません。さまざまな範囲のラベル形式を切り替える場合は、おそらく自動ラベルが必要な場所には表示されません。 –

+0

ありがとうエリック。最後に、プロットに収まるラベルの数を計算するアルゴリズムを書きました。私はズームインまたはズームアウトしていないので、うまくいくようです。ヘルプをよろしくお願いいたします。 – Jamie

関連する問題