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 プロットを使用する場合にのみ、別の変数 (時間) の値を追加する方法を教えてくれません。
この問題の解決策を知っていますか?