我创建了一个树图来代表代谢网络反应。 Endresult应该是Hasse图。 现在我已经完成了绘图工作,节点也标有文本。这个文本是它背后的反应的索引。 当你将鼠标悬停在它上面时,这些反应名称较长,我需要显示它们。就像一个工具提示。 我尝试了uicontrols,get()等等。
问题是,treelayout只返回轴坐标(地图坐标?)但是对于uicontrol我需要4个像素距离。我尝试了map2pix,axes2pix和CData,但无法将其计算出来。
也许你们中的一些人知道如何在情节中创建带有工具提示的文本框?
这里有一些代码可以解决:
treeplot(nodes);
[x,y] = treelayout(nodes);
x = x'
y = y'
text(x(:,1), y(:,1), lables, 'VerticalAlignment','bottom','HorizontalAlignment','right') %lables is a cell array with strings
title({'Level Lines'},'FontSize',12,'FontName','Times New Roman');
camroll(180);
我尝试了什么:
c = get(gca, 'CurrentPoint'); % get handles to children
xLimits = get(gca,'XLim'); %# Get the range of the x axis
yLimits = get(gca,'YLim'); %# Get the range of the y axis
xdata = get(gca,'XData')
map2pix(x(3,1),y(3,1))
test=['1','1','1','1','1','1','1','1','1'];
uicontrol('Units','points','Style','text','Position',[x(3,1), y(3,1),20,20], 'String',lables(3), 'TooltipString','dings');
输出类似于:
x =
0.4167
0.1667
0.5000
0.8333
0.5000
0.3333
0.5833
0.5000
0.6667
y =
0.6667
0.1667
0.8333
0.1667
0.5000
0.1667
0.3333
0.1667
0.1667
我很高兴并感谢每一个答案! 来自柏林的问候, 的Mathias