0

解析したXMLファイルがあり、必要な情報をいくつかのNSArrayオブジェクトに入れています。QuartzView(何か良いものはありますか?)でそれらを描画して、データを視覚化できるようにしたいと思います。アレイにはすべて、仮想的に同じ量の情報が含まれている必要があります。1つの配列がx軸を表し、別の配列がyを表すようにします。クォーツコンポーザーを配列コードにバインドするのに十分な時間がかかりましたが、一意の座標を持つ1つの球、または同じ座標を持つすべてのインデックスの球のいずれかを描画することしかできません。したがって、基本的には、配列データに基づいてQCでプロットを作成するための支援が必要です。コードは次のようになります。

- (IBAction) setup:(id)sender {
    BlastParser *bp = [[BlastParser alloc] init];
    NSString *hit_idString = @".//hit_id";
    NSString *evalueString = @".//Hsp_evalue";
    NSString *hsp_align_lenString = @".//Hsp_align-len";

    NSArray *hit_id = [bp getArrayForNode:hit_idString];
    NSArray *evalue = [bp getArrayForNode:evalueString];
    NSArray *hsp_align_len = [bp getArrayForNode:hsp_align_lenString];

    NSLog(@"nodes: %@", Hsp_align_len);
    int i;
    for (i = 0; i < [evalue count]; ++i){
        [qcView setValue:[NSNumber numberWithInt:i] forInputKey:@"iter"];
    }
}

前もって感謝します。

4

1 に答える 1

0

通常の NSView を使用して、次のような形で (ビューのdrawRect:メソッドで)図形を描画する方が簡単なように思えます。

int radius = 4;
NSBezierPath *circle = [NSBezierPath bezierPathWithOvalInRect:NSMakeRect(xPos-radius, yPos-radius, 2*radius, 2*radius)];
[circle fill];

xPos と yPos は、描画するポイントの座標です。

しかし、Quartz Composer を使用したい理由が他にあるのではないでしょうか?

于 2009-07-24T18:12:08.000 に答える