0

を使用していくつかの点をプロットし、 を使用scatterしてそれらにラベルを付けましたtext。これらのラベルの位置は、ポイント + オフセットの位置と同じです。これらのテキスト ラベルの一部は互いに重なり合っているため、インタラクティブに (マウスを使用して) 移動しました。プロパティ エディタを使用して、これらの各テキストの新しい位置を個別に確認できます。ただし、これには非常に時間がかかります。これらすべてのテキストラベルの座標を取得するより良い方法はありますか?

4

2 に答える 2

1

findobjを使用して、現在の軸の子であるテキスト オブジェクトへのハンドルを取得できます (または別のハンドル... 選択):

text_handles = findobj('parent',gca,'type','text');

次に、これらのテキスト オブジェクトの位置を取得できます。

positions = get(text_handles,'position');

各テキスト オブジェクトをそのデータ ポイントに関連付けるには、もう少し作業が必要になる場合がありUserDataます。多くのオプションがありますが、これにはおそらくフィールドを介してプロパティ システムを利用することをお勧めします。

于 2012-07-14T04:15:28.777 に答える
0

後で簡単に実行したい場合は、プロットでこれを実行します。たとえば、次のようにします。

h=text(2.9,7.5,'MyText');

これにより、「MyText」が 2.9 と 7.5 の位置に配置されます。

次に、位置を変更するには:

set(h,'Position',[2.5 7]);

これにより、位置が 2.5 と 7 に変更されます。

後でテキストの位置を確認する必要がある場合は、次を使用します。

get(h);

お役に立てれば。

于 2012-07-14T01:02:49.267 に答える