3

Matlab 2011bには、2次元の2Dプロットとして最初に表示される多次元行列があります。マウスの左ボタンでマーカーをクリックできるようにしたい。マーカーをクリックすると、クリックした値でスライスされた他の寸法の新しい図が描画されます。

この質問はMatlabに関連しています。ポイントをプロットしてクリック可能にして情報を表示しますが、クリックしたポイントに関するデータをポップアップするだけでなく、スクリプトを実行したいと思います。

グーグルはそれが使用できることをほのめかしましたButtonDownFcnが、私が見つけた例では、次のように、各ポイントを手動でプロットし、ハンドラーをアタッチする必要があります。

hp = plot(x(1), y(1), 'o');
set(hp, 'buttondownfcn', 'disp(1)');

メイングラフには多くのマーカーがあるので、曲線全体にハンドラーをアタッチして、マーカーのインデックス(推奨)または座標をクリックしてサブグラフプロット関数を呼び出すことはできますか?

4

1 に答える 1

3

これはあなたが必要としているもののアイデアであり、私があなたの要件を理解していれば、あなたが始めるのに役立つはずです。

この場合、曲線を選択すると、色を保持したまま下部のサブプロットに描画されます。

function main
subplot(211)
h = plot (peaks);

set (h,'buttondownfcn', @hitme)
end

function hitme(gcbo,evendata)
subplot (212)
hold on;

col = get (gcbo,'Color');
h2 =  plot (get (gcbo,'XData'),get (gcbo,'YData'));
set (h2,'Color', col)

pt = get (gca, 'CurrentPoint');
disp (pt);
end

get(gcbo)関数に書き込むだけで、getのオプションを調べることができますhitme

于 2012-04-20T19:26:18.453 に答える