X,Y軸を設定する
プロットスペースで X,Y軸の数値の幅を設定したけど、今度はラベルが重なって読めない…。
これを設定するのが CPTXYAxis だ。CPTXYAxisSet の中に、X,Y軸それぞれにある。例えば X軸はこんな感じでゲットできる。
// Axes CPTXYAxisSet *axisSet = (CPTXYAxisSet *)graph.axisSet; // X Axis CPTXYAxis *x = axisSet.xAxis;
この CPTXYAxis のプロパティを設定して X,Y軸を見易くしていく。
// Axes CPTXYAxisSet *axisSet = (CPTXYAxisSet *)graph.axisSet; // Axes Line Style CPTMutableLineStyle *lineStyle = [CPTMutableLineStyle lineStyle]; lineStyle.lineColor = [CPTColor greenColor]; lineStyle.lineWidth = 2.0f; // X Axis CPTXYAxis *x = axisSet.xAxis; x.majorIntervalLength = CPTDecimalFromString(@"5"); x.minorTicksPerInterval = 4; x.majorTickLineStyle = lineStyle; x.minorTickLineStyle = lineStyle; x.axisLineStyle = lineStyle; x.minorTickLength = 5.0f; x.majorTickLength = 9.0f;
Axes Line Style
まず、CPTMutableLineStyle で X軸を描く時の線のスタイルを設定する。
特に難しい事はしておらず、色を緑にして線の太さを 2.0f にしただけ。
X Axis
X軸の設定の最初は目盛(MajorTick)の設定。これは 5 としてあるので、0, 5, 10, 15…と目盛が描かれる。
次は補助目盛(MinorTick)の設定。これは目盛(MajorTick)の間に何本補助目盛(MinorTick)が入るかを設定するので 4 になる。
目盛/補助目盛、両方の”線”は先ほど設定した線のスタイルで描かれるように設定。
また、X軸そのものも同じ線のスタイルで描画される。
最後に目盛/補助目盛両方の線の長さをそれぞれ 9.0f と 5.0f にして設定は終了。
X軸の 0.0, 5.0, 10.0 等のラベルは、何もしなければ目盛の場所に描かれる。
// Y Axis lineStyle.lineColor = [CPTColor yellowColor]; CPTXYAxis *y = axisSet.yAxis; y.majorIntervalLength = CPTDecimalFromString(@"4"); y.minorTicksPerInterval = 3; y.majorTickLineStyle = lineStyle; y.minorTickLineStyle = lineStyle; y.axisLineStyle = lineStyle; y.minorTickLength = 5.0f; y.majorTickLength = 9.0f; y.title = @"Y Title"; y.titleOffset = 35.0f; // move left from y axis. negative value is go right. lineStyle.lineWidth = 0.5f; y.majorGridLineStyle = lineStyle;
基本的な部分は X軸と変わらない。
ラインスタイルで線の色を黄色に設定。
目盛は 4づつにして、補助目盛は 3に設定。
Y軸、目盛、補助目盛のラインスタイルを設定して、目盛、補助目盛の長さは 9.0f と 5.0f。
Y軸にはタイトルを入れた。これは単純に NSString を title に設定すれば OK。
タイトルは自動的に Y軸の左側に描かれるが、位置がギリギリだったので位置を指定している。Y軸から左に 35ピクセルの位置に描画する設定。
最後に線の太さを 0.5f に設定して、目盛のグリッド線を描いている。