2016-07-07 15 views
0

実際に私のxAxisラベルの文字列値を取得したい。それを得る方法?コアプロットaxisLabels配列からxAxisラベルテキスト値を取得する方法?

let xAxis = axisSet.xAxis as CPTXYAxis! 
    let label = xAxis.axisLabels? 

は、これが私の画面上に表示されているすべてのラベルの値を返している:私は、x軸のラベルの配列を持っています。 reference to this question私はxAxis上でプロットするために私の値をマッピングするためのポイントを計算する必要があります。しかし、グラフをスクロールした後、再び拳のラベル値を取得する方法は?私は地図上に表示しているストリング値を求めています。例えば、 "17:04:05"と言うことができます。配列からその値を取得するには?このaxisLabels配列は、短絡していない値を返し、グラフに表示される最初のラベル値が必要です。配列のプットを以下に示しアウト:

Optional("[<<CPTAxisLabel: 0x7fe5e858b910> {<<<CPTTextLayer: 0x7fe5e84501d0> bounds: {{0, 0}, {58, 21}}> \"11:47:46\">}>, <<CPTAxisLabel: 0x7fe5e858b5f0> {<<<CPTTextLayer: 0x7fe5e858b7f0> bounds: {{0, 0}, {58, 21}}> \"11:41:16\">}>, <<CPTAxisLabel: 0x7fe5e85a1070> {<<<CPTTextLayer: 0x7fe5e8586cd0> bounds: {{0, 0}, {58, 21}}> \"11:46:16\">}>, <<CPTAxisLabel: 0x7fe5e86adf70> {<<<CPTTextLayer: 0x7fe5e86b6b90> bounds: {{0, 0}, {58, 21}}> \"11:44:46\">}>, <<CPTAxisLabel: 0x7fe5e8591660> {<<<CPTTextLayer: 0x7fe5e85918a0> bounds: {{0, 0}, {58, 21}}> \"11:43:16\">}>, <<CPTAxisLabel: 0x7fe5e853fde0> {<<<CPTTextLayer: 0x7fe5e8511530> bounds: {{0, 0}, {58, 21}}> \"11:48:16\">}>, <<CPTAxisLabel: 0x7fe5e858bab0> {<<<CPTTextLayer: 0x7fe5e85915a0> bounds: {{0, 0}, {58, 21}}> \"11:41:46\">}>, <<CPTAxisLabel: 0x7fe5e87b2e00> {<<<CPTTextLayer: 0x7fe5e876f990> bounds: {{0, 0}, {58, 21}}> \"11:46:46\">}>, <<CPTAxisLabel: 0x7fe5e857dff0> {<<<CPTTextLayer: 0x7fe5e8587690> bounds: {{0, 0}, {58, 21}}> \"11:45:16\">}>, <<CPTAxisLabel: 0x7fe5e8588f80> {<<<CPTTextLayer: 0x7fe5e858acf0> bounds: {{0, 0}, {58, 21}}> \"11:43:46\">}>, <<CPTAxisLabel: 0x7fe5e86830c0> {<<<CPTTextLayer: 0x7fe5e8684e30> bounds: {{0, 0}, {58, 21}}> \"11:48:46\">}>, <<CPTAxisLabel: 0x7fe5e8588ce0> {<<<CPTTextLayer: 0x7fe5e8588ec0> bounds: {{0, 0}, {58, 21}}> \"11:42:16\">}>, <<CPTAxisLabel: 0x7fe5e85a1290> {<<<CPTTextLayer: 0x7fe5e8584c80> bounds: {{0, 0}, {58, 21}}> \"11:47:16\">}>, <<CPTAxisLabel: 0x7fe5e845df20> {<<<CPTTextLayer: 0x7fe5e845e040> bounds: {{0, 0}, {58, 21}}> \"11:45:46\">}>, <<CPTAxisLabel: 0x7fe5e8590a60> {<<<CPTTextLayer: 0x7fe5e8590ca0> bounds: {{0, 0}, {58, 21}}> \"11:44:16\">}>, <<CPTAxisLabel: 0x7fe5e8766660> {<<<CPTTextLayer: 0x7fe5e8748c90> bounds: {{0, 0}, {58, 21}}> \"11:49:16\">}>, <<CPTAxisLabel: 0x7fe5e858b8b0> {<<<CPTTextLayer: 0x7fe5e85909a0> bounds: {{0, 0}, {58, 21}}> \"11:42:46\">}>]") 

あなたはそのではないソート順で表示したり、グラフに表示される順序ではないと私はグラフに表示されている唯一の最初の文字列をしたいよう。この問題を解決するのに役立ちます。

+0

ラベルがあるかどうかに関係なく、最初のラベルまたはプロット領域の左側の値を使用しますか? –

+0

xAxisの左側に印刷されている文字列値が必要です。最初にlableです。例: "17:05:25" –

答えて

0

一連の軸ラベルをループします。それぞれについて、contentLayerCPTTextLayerのインスタンスです。 textプロパティを読んで、ラベルフォーマッタを使用して時間文字列をデータ値に変換します。一連のデータ値の中で最小の値を見つけます。

関連する問題