0

Matlab R2020b を使用しており、2D プロットのデータ ポイントにカーソルを合わせると、追加情報を表示したいと考えています。ポーラプロットの角度と半径の値があります。各データ ポイントは時間に関連付けられています。次のようなプロットを作成します。

t = linspace(0, 1, 100);
phi = 2*pi*t;
r = t.^2+1;

h = figure;
polarplot(phi, r, '-sb');

dcm = datacursormode(h);
datacursormode on;
set(dcm, 'updatefcn', @myfunction);


function output_txt = myfunction(obj,event_obj)
% Display data cursor position in a data tip
% obj          Currently not used
% event_obj    Handle to event object
% output_txt   Data tip text, returned as a character vector or a cell array of character vectors

pos = event_obj.Position;


%********* Define the content of the data tip here *********%

% Display the x and y values:
output_txt = {['\phi: ' num2str(pos(1)*180/pi) '°'],...
    ['r: ' num2str(pos(2))]};
%***********************************************************%

% If there is a z value, display it:
if length(pos) > 2
    output_txt{end+1} = ['Z',formatValue(pos(3),event_obj)];
end

%***********************************************************%

end

理想的には、選択したデータ ポイントに対して (角度、半径、時間) のトリプレットを表示したいと考えています。カスタム データ ヒントに関する情報は、plot3 などの 3D プロットを使用する場合にのみ、別の変数 (時間) の値を追加する方法を教えてくれません。

この問題の解決策を知っていますか?

4

1 に答える 1