Export level along with coordinates from contour figure datatips?

5 次查看(过去 30 天)
I have been adding datatips to a contour plot figure which show the x & y positions along with the contour level value. When I export the datatips to the workspace, I get the x & y positions but not the level. I know I could just look up the level using those coordinates, but since my x & y axes from the plot come from separate variables it is a bit of coding to do so. Since what I want is right in front of me, it would be nice if I could get it at the same time as I export the coordinates. I found where I can change the display text, but nothing to change the exported struct. Any suggestions? Thanks.

采纳的回答

Matt Fig
Matt Fig 2011-5-31
Although I think you could alter the built-in M-code to do what you want, I would probably do this instead. I called this:
Z = peaks;
[C,h] = contour(interp2(Z,4));
then I put three data-cursors on the contours. Then from the command line:
F = findall(0,'type','hggroup');
S = get(F(1:end-1),'string');
S = regexp(cat(1,S{:}),'-*\d+\.*\d+','match');
N = cellfun(@str2double,reshape([S{:}],size(S)))
N =
221 359 -2.0891
499 592 3.8319
103 591 -0.0017914
The first column contains the x coord, the second column the y coord, and the third column the level.
  1 个评论
Nancy Jestel
Nancy Jestel 2011-5-31
Many thanks! I'm not familiar with handle graphics groups and that looks like a good topic to learn more about. I tried the code and made a few minor modifications, primarily because my levels are in scientific notation. Everything seems to be working well. Fantastic! Here's what I ended up with:
F = findall(gcf,'type','hggroup');
S = get(F(1:end-1),'string');
SSS = regexp(cat(1,S{:}),'-*\d+\.*\d+[e]\D\d+','match');
SS = regexp(cat(1,S{:}),'-*\d+\.*\d+','match');
for i = 1:size(SS,1)
SS{i,3}=SSS{i,3};
end;
N = cellfun(@str2double,reshape([SS{:}],size(SS)));

请先登录,再进行评论。

更多回答(1 个)

Patrick Kalita
Patrick Kalita 2011-5-31
As far as I know you cannot customize the struct that is exported. But it does seem like a useful thing to do. I would suggest contacting tech support and ask them to make an enhancement request for it.
  1 个评论
Nancy Jestel
Nancy Jestel 2011-5-31
Thanks, I did put in an enhancement request, because while it looks like Matt solved my immediate problem, that does just seem like an obvious thing to have.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Annotations 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by