代码之家  ›  专栏  ›  技术社区  ›  Shika93

绘图中的文本或注释

  •  1
  • Shika93  · 技术社区  · 6 年前

    因为我不理解符号是如何工作的,所以我只需要在一个图中添加平均值,并添加一个标签来写下这一点。我加了一颗白星

    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 回复  |  直到 6 年前
        1
  •  1
  •   Sardar Usama    6 年前

    text 函数中,如果将文本参数作为单元格数组提供,则单元格数组中的新行/列将被视为文本的新行。查看 this example >。

    要解决您的问题,只需显式地将 x\u mean->code>和 y\u mean->code>转换为字符数组,并将它们与括号外部和逗号中间连接,即

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

    顺便说一句,不需要多个hold ons.一个hold on将保持打开,除非您hold off

    被认为是文本的新行。看看this example.

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

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

    output

    顺便说一下,不需要多重的hold onS.A单人间坚持住会一直坚持下去,除非你hold off.