如何在MATLAB图中添加一个框,它将显示图的平均值?

时间:2015-03-16 12:56:06

标签: matlab-figure

我想在MATLAB图中添加一个包含该图的平均值的框。我知道如何添加图例。但是,如何从代码中显示计算出的值?

1 个答案:

答案 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 );

创建以下内容: Annotation Textbox

然后,您可以使用以下方法更改注释框中的字符串:

legendString{1} = [ 'y1 (Mean ' , num2str(y1Mean) , ')' ];
legendString{2} = [ 'y2 (Mean ' , num2str(y2Mean) , ')' ];
set ( handleLegend , 'string' , legendString );

调整框如下: Annotation Textbox after changing string.


要编辑图例字符串,只需使用以下命令:

{{1}}

将图表调整为: enter image description here