matlab plot图例

matlab上将三个点设置legend和线分别设置legend应该用哪个代码命令,想达成的效果如图所示。谢谢!

img

这种情况一般是图外面额外添加有(或者是其他方法,反正找单点就行)这三个形状的单点,这个图例是这三个额外点的,而不是这三条线上的点的。
然后直接legend就好了

  • 文章:matlab 对选择的plot添加legend 中也许有你想要的答案,请看下吧
  • 除此之外, 这篇博客: matlab绘图总结1中的 图例 legend 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 如果有许多线,为了对每个线所代表的含义加以描述,就需要添加图例进行说明,此时需要用到函数legend legend函数需要每个线条的句柄和对应的文字作为输入,因此plot返回的句柄一定要记录下来

    figure
    set(gcf,'color','w');
    size_y = size(y);
    hold on
    x_temp = x(1:2:end);
    y_temp = y(:,1:2:end);
    for i=1:size_y(1)
       plot_style = strcat('-',marker_style{i,1});
       handle_plot(i) = plot(x_temp,y_temp(i,:),plot_style);
       set(handle_plot(i),'color',[rand rand rand]*0.85);%乘以0.85是为了随机颜色更深一点
       set(handle_plot(i),'lineWidth',2);
       text_legend{i} = sprintf('曲线%d',i);
    end
    legend(handle_plot,text_legend,0);
    grid on
    xlabel('x轴');
    ylabel('y轴');
    title('标题');

    此例中,text_legend 和plot_handle用于保存句柄和文字,由于matlab中文字用向量连接会自动合并,因此,这里文字需要用cell来存储

    legend默认是右上角,若需要控制位置,可以在legend的第三个参数设置。

    legend(plot_handle,text_legend,0);
    代表图例放置在右下,数值可以从0到4,还有-1,他们的含义是:

    0:自动把图例置于最佳位置,即和图中的曲线重复最少,此时,没改变一次大小,图例都会重新选择一次最佳位置;
    -1:置于坐标轴外面的右上角;
    1:置于图形右上角,为默认值;
    2:置于图形左上角;
    3:置于图形左下角
    4:置于图形右下角