图中的文字或注释

时间:2018-07-02 10:00:10

标签: matlab matlab-figure

由于我不了解符号的工作方式,因此我只需要在图中添加平均值并添加标签以写出该点。我加了白星

scatter(azimuth,elevation,'r'),'filled';
hold on;
plot(az_mean,el_mean,'wp'); hold on;

然后我将标签添加为

str = {az1_mean,el1_mean};
text (az1_mean,el1_mean,str);

,但是两个值位于两个不同的行中。如何获得(az1_mean,el1_mean)这种格式?

x = linspace(0,3*pi,200);
y = cos(x) + rand(1,200);  
y_mean = mean(y); x_mean = mean(x)    
h1 = figure(1);
scatter(x,y)
xlabel('Azimuth); ylabel('Elevati');
hold on;
plot(x_mean,y_mean,'wp'); hold on;
str = {x_mean,y_mean};
text (x_mean,y_mean,str);
hold off;

1 个答案:

答案 0 :(得分:1)

text函数中,如果将text参数指定为单元格数组,则该单元格数组中的新行/列将被视为文本的新行。看看this example

要解决您的问题,只需将x_meany_mean都显式转换为字符数组,并用外部方括号和中间的逗号将它们连接起来,即

text(x_mean, y_mean, ['(', num2str(x_mean), ', ', num2str(y_mean), ')']);

output

顺便说一句,不需要多个hold on。除非您hold on,否则一个hold off会一直保持下去。