2012-02-27 4 views
1

Core-Plotで作成した素晴らしいグラフを使ってmac osxアプリケーションを構築しています。その上に複数の点がある折れ線グラフ(散布図)がプロット記号の円で視覚化されています。 私の目標は、ユーザーがグラフ上のあるポイントにマウスを移動したときに、そのポイントの値でラベルを表示することです。コアプロットMac:グラフのマウスオーバーポイントを表示するときのラベルを表示

すでにグラフにNSTrackingが追加されていますが、これは機能しますが、プロットポイント/ plotsymbolを座標に変換する方法が分かりませんので、ポイントをロールオーバーしてラベルを表示するとわかります。

誰かがアイデアを持っていますか? はすべて

答えて

1

私のソリューションは、これらの線に沿って何かになりありがとう:

(私はグラフが任意のラベルを表示しないことを前提とマウスがグラフ上の点を超えている場合にのみ、ラベルが表示されています。)。あなたは、マウスのロジックを扱う場所で

、あなたはどうなる:

NSDecimalNumber *tickLocation = [NSDecimalNumber numberWithDouble:"The relevant axis value of the object you have the mouse over"]; 
    NSString *labelText = @"The text of the label"; 
    NSMutableArray *customLabels = [NSMutableArray arrayWithCapacity:1]; 
    CPTAxisLabel *label = [[CPTAxisLabel alloc] initWithText: labelText textStyle:axisSet."Whatever axis you want -X/Y".labelTextStyle]; 
    label.tickLocation = [tickLocation decimalValue]; 
    label.offset = axisSet."Whatever axis you want -X/Y".labelOffset + axisSet."Whatever axis you want -X/Y".majorTickLength; 
    label.rotation = M_PI/4; 
    [customLabels addObject:label]; 
    axisSet."Whatever axis you want -X/Y".axisLabels = [NSSet setWithArray:customLabels]; 

・ホープ、このことができます。

2

-indexOfVisiblePointClosestToPlotAreaPoint:メソッドを使用して、特定のピクセルに最も近いプロット記号を見つけることができます。このメソッドは、ポイントのデータソースインデックスを返します。実際の値を取得するために、データソースによって提供される元のデータを見ることができます。 plotSymbolMarginForHitDetectionプロパティは、ポイントがヒットとして登録される前に、指定されたポイントにどれだけ近づけなければならないかを制御します。

関連する問題