我想在MATLAB图中添加一个包含该图的平均值的框。我知道如何添加图例。但是,如何从代码中显示计算出的值?
答案 0 :(得分:0)
您可以使用annotation
对象,也可以编辑图例字符串。
在此处查看annotation
对象文档:http://www.mathworks.com/help/matlab/ref/annotation.html
简而言之,您可以创建注释对象,然后使用get()
/ set()
属性上的handles
/ x = 1 : 1000;
y1 = sin ( 2 * pi * x ./ 1000 );
y2 = sin ( 2 * pi * x ./ 1000 ) + 0.25;
y1Mean = mean ( y1 );
y2Mean = mean ( y2 );
handleFigure = figure();
handlePlot = plot ( x , y1 , 'b' , x , y2 , 'r' );
handleLegend = legend ( 'y1' , 'y2' );
message1 = [ 'Mean y1 = ' , num2str ( y1Mean ) ];
handleAnnotation = annotation ( 'textbox' , [0.25 0.25 0.1 0.1] , 'string' , message1 );
以编程方式修改其内容,位置,形状等。
例如:
message2 = [ 'Mean y2 = ' , num2str ( y2Mean ) ];
set ( handleAnnotation , 'string' , message2 );
创建以下内容:
然后,您可以使用以下方法更改注释框中的字符串:
legendString{1} = [ 'y1 (Mean ' , num2str(y1Mean) , ')' ];
legendString{2} = [ 'y2 (Mean ' , num2str(y2Mean) , ')' ];
set ( handleLegend , 'string' , legendString );
调整框如下:
要编辑图例字符串,只需使用以下命令:
{{1}}
将图表调整为: