Matlab绘图中的文本框

7
请帮我一下。我正在尝试在Matlab绘图中包含一个带有边界的小文本框,用于说明有关绘图的某些重要信息。我确实看到了这个链接:http://www.mathworks.in/matlabcentral/newsreader/view_thread/154660,但我想知道是否有其他内置的绘图函数可以直接完成这个功能。如果这个问题太基础,请原谅,但我将感激您的帮助。
此外,我并不清楚这个链接具体在说什么。mtext如何在绘图中放置文本框?我该如何编写代码?这些是我的困惑。请在这里帮助我。
2个回答

18
你要找的函数叫做annotation
例如,annotation('textbox',[x y w h])会创建一个可编辑文本框注释,其左下角位于点x,y,宽度为w,高度为h,以规范化图形单位指定。在一个向量中指定xywh
下面是一个带有一些花哨效果的演示...
x=0:0.1:10;
var=1.85;
y=x.^(var);
plot(x,y);

annotation('textbox',...
    [0.15 0.65 0.3 0.15],...
    'String',{'plotting y=x^{var} ,',['with var =' num2str(var)]},...
    'FontSize',14,...
    'FontName','Arial',...
    'LineStyle','--',...
    'EdgeColor',[1 1 0],...
    'LineWidth',2,...
    'BackgroundColor',[0.9  0.9 0.9],...
    'Color',[0.84 0.16 0]);

enter image description here

完整的注释文本框属性清单可以在此处找到。


它抛出了未知参数的错误。你能帮忙吗? - Lakshmi Narayanan
我不明白你所说的“包含一个变量”具体是什么意思。这个变量是一个数字、矩阵、字符串,还是一个更复杂的类,比如单元格或结构体?你是否复制了答案中的代码片段?它是否仍然报错? - bla
我解决了这个错误。我输入了小写字母s的字符串。很抱歉打扰你了。如果你能帮我解决这个问题,我会非常高兴。 - Lakshmi Narayanan
1
使用 num2str 将数值变量转换为字符串。请查看我的编辑答案,其中使用了许多其他功能... - bla
感谢您提供详细的示例。我必须将['with var =' num2str(var)]替换为['with var =' + num2str(var)] - user1700890
显示剩余2条评论

-1
alldatacursors = findall(gcf,'type','hggroup')
set(alldatacursors,'FontSize',11)
set(alldatacursors,'FontName','Times')
set(alldatacursors,'BackgroundColor','w');

这是干什么用的?这是应该作为问题的答案吗? - gnovice
可能应该在这里- https://stackoverflow.com/questions/29600101/customizing-data-cursor-marker-matlab/47037407#47037407 - Adiel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接