精华内容
下载资源
问答
  • Matlab 如何用legend标记部分曲线

    千次阅读 2014-01-08 20:41:54
    %生成25*25矩阵 data = rand(25)+repmat(1:25,25,1);...h1=legend(H([1 6 11 16 21]),'1','6','11','16','21') %使得标注横向显示 set(h1,'Orientation','horizon') %去除标记框的外围长方形 set(h1,'Box','of
    %生成25*25矩阵
    data = rand(25)+repmat(1:25,25,1);
    H = plot(data);
    %只对其中的部分曲线进行标注
    h1=legend(H([1 6 11 16 21]),'1','6','11','16','21')
    %使得标注横向显示
    set(h1,'Orientation','horizon')
    %去除标记框的外围长方形
    set(h1,'Box','off');
    

    展开全文
  • matlab之只显示部分legend

    千次阅读 2020-06-20 19:44:09
    在画图的时候, 比如画三条线, 有时候只想显示两个legend, 怎么办? 我们可以设置每个图的句柄, 然后在legend里指定要画的句柄就可以了. 示例: figure H(1)=plot(R34); hold on H(2)=plot(...); % no delay hold on H...

    在画图的时候, 比如画三条线, 有时候只想显示两个legend, 怎么办?

    我们可以设置每个图的句柄, 然后在legend里指定要画的句柄就可以了.
    示例:

    figure
    p1=plot(R34);
    hold on
    p2=plot(...);  % no delay
    hold on
    p3=plot(...);  % theo delay
    hold on
    p4=plot(...);  % actual delay
    legend([p1,p2,p3],'no delay','Theo delay','Actual delay')
    
    展开全文
  • 有时候我们会画出很多曲线,但是只想标注一部分曲线,这时候就需要用句柄h了。 示例 原始代码 x=0:0.1:2*pi; y1=cos(x); y2=sin(x); y3=cos(2*x)+1; y4=sin(2*x)+1; y5=cos(4*x)-1; y6=sin(4*x)-1; plot(x,y1,x,y2,...

    有时候我们会画出很多曲线,但是只想标注一部分曲线,这时候就需要用句柄h了。

    示例

    原始代码

    x=0:0.1:2*pi;
    y1=cos(x);
    y2=sin(x);
    y3=cos(2*x)+1;
    y4=sin(2*x)+1;
    y5=cos(4*x)-1;
    y6=sin(4*x)-1;
    
    plot(x,y1,x,y2,x,y3,x,y4,x,y5,x,y6)
    

    产生一堆乱七八糟的图像
    原始图像
    我想用 legend只 标注出 sin(x) 和 cos(x) 图像

    把plot变成句柄h
    则第一个图就是h(1)
    第二个图就是h(2)
    ……
    有了句柄h后,想标哪个标哪个,想处理哪个处理哪个

    修改后的函数

    x=0:0.1:2*pi;  
    y1=cos(x);  
    y2=sin(x); 
    y3=cos(2*x)+1;  
    y4=sin(2*x)+1; 
    y5=cos(4*x)-1; 
    y6=sin(4*x)-1;
    
    h=plot(x,y1,x,y2,x,y3,x,y4,x,y5,x,y6)
    
    legend([h(1),h(2)],'cos(x)','sin(x)')
    

    选择性标注后的图像
    选择性标注后的图像

    展开全文
  • matlab画图显示部分曲线显示legend

    万次阅读 2018-10-06 11:01:04
    h1=plot(x1,y1); h2=plot(x2,y2);...legend([h1 h3],'x1-y1','x3-y3'); 四线,图例仅显示1,3 %%%%%%%%%%%%%%%%%%%%%%%%%%%%% %生成25*25矩阵 data = rand(25)+repmat(1:25,25,1); H ...

    h1=plot(x1,y1);
    h2=plot(x2,y2);
    h3=plot(x3,y3);
    h4=plot(x4,y4);
    legend([h1 h3],'x1-y1','x3-y3');
    四线,图例仅显示1,3

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%

    • %生成25*25矩阵

    • data = rand(25)+repmat(1:25,25,1);

    • H = plot(data);

    • %只对其中的部分曲线进行标注

    • h1=legend(H([1 6 11 16 21]),'1','6','11','16','21')

    • %使得标注横向显示

    • set(h1,'Orientation','horizon')

    • %去除标记框的外围长方形

    • set(h1,'Box','off');

    • %%%%%%%%%%%%%%%%%%%%%%%%%%

    • 方法1:复杂到吐血

      例如你有25条曲线,想显示其中1,6,11,16,21的legend,则

      for i = [2:5 7:10 12:15 17:20 22:25]
           set(get(get(H(i),'Annotation'),'LegendInformation'),'IconDisplayStyle','off'); 
      end
      legend('1','6','11','16','21');

      方法2:简单到郁闷

      H = plot(data);
      legend(H([1 6 11 16 21],'1,'6','11’,'16','21');



      如果一个图中我们画了n条曲线,但是我们只想加图例说明(legend)的只有m条 (m

       


      1. 最简单,最超级无敌的方法:把想要标注的图形命令给个变量名,然后再legend命令中指定。

      x = -3.14:0.1:3.14;
      y1 = sin(x);
      y2 = cos(x);
      y3 = .1*exp(x);
      y4 = y1.*y3;
      hold on
      h1 = plot(x, y1, 'r');
      h2 = plot(x, y2, 'g');
      h3 = plot(x, y3, 'k');
      h4 = plot(x, y4, 'm');
      hold off
      xlim auto
      legend([h1,h3],'sin', 'exp');

      2.通过控制Annotation属性来实现,详细控制方法参见http://www.mathworks.cn/help/techdoc/creating_plots/braliom.html;jsessionid=HPs0TNGQxP2TXMcZgQv4zkMvmSsZYbhG6Lwjd3JT271PLqXnHxhY!-1484299157。但是需要注意的是在稍微低版本的MATLAB中,并不提供Annotation的控制(至少我的R14SP1不支持)。

      x = -3.14:0.1:3.14;
      y1 = sin(x);
      y2 = cos(x);
      y3 = .1*exp(x);
      y4 = y1.*y3;
      hold on
      h1 = plot(x, y1, 'r');
      h2 = plot(x, y2, 'g');
      h3 = plot(x, y3, 'k');
      h4 = plot(x, y4, 'm');
      hold off
      xlim auto
      set(get(get(h2, 'Annotation'), 'LegendInformation'), 'IconDisplayStyle', 'off');
      set(get(get(h4, 'Annotation'), 'LegendInformation'), 'IconDisplayStyle', 'off');
      legend('sin', 'exp');

      3.多个legend以及标注部分图列构成多列图列

      t=0:pi/100:2*pi; 
      y1=sin(t); 
      y2=cos(t); 
      y3=y1.*y2; 
      y4=0.5*(y1+y2); 
      hold on 
      h1=plot(t,y1,'-r') 
      %h11 = plot(t(1:10:end),y1(1:10:end),'o','MarkerFaceColor','r','MarkerEdgeColor','r'); 
      h11 = plot(t(1:20:end),y1(1:20:end),'ro'); 
      h2=plot(t,y2,'b-'); 
      %h22 = plot(t(1:10:end),y2(1:10:end),'^','MarkerFaceColor','b','MarkerEdgeColor','b'); 
      h22 = plot(t(1:20:end),y2(1:20:end),'b^')
      h3=plot(t,y3,'c'); 
      h4=plot(t,y4,'g'); 
      hold off 
      [legh,objh,outh,outm]=legend([h1,h2],'y1','y2',1);
      legend boxoff

      % matlab 6.5.1 
      %set(objh(3),'marker','*'); 
      %set(objh(5),'marker','.');

      % matlab7 
      set(objh(4),'marker','o'); 
      set(objh(6),'marker','^');


      legh2=copyobj(legh,gcf); 
      [legh2,objh2]=legend([h3,h4],'y3','y4',2); 
      legend boxoff

      这样画好后,只有第二个legend可拖动,而第一个legend不可拖动,原因不明。

      4.Matlab提供的legend函数,给出的legend经常覆盖了某些曲线,这样就需要把legend分成几个,相对独立,这样可以使用鼠标随意移动,确保不遮挡曲线。

      a=linspace(0,2*pi,100);
      y1=100*sin(a);
      y2=50*cos(a);
      y3=tan(a);
      y4=log(a);
      y=[y1;y2;y3;y4];
      figure
      p=plot(a,y)

      legend(p(1:2),'sin','cos');
      ah=axes('position',get(gca,'position'),...
                  'visible','off');
      legend(ah,p(3:4),'tan','log','location','west');

      5.用plot函数对两个长度为30的向量分别绘制曲线的时候,在两条曲线上各画了一个marker(因为如果把所有的marker都放上去的话,感觉很拥挤,不是很好看),在对最终的画图效果做legend标注的时候,我希望将曲线及其上的marker一起标注

      clc;
      clear;
      close all;

      figure_handle = figure;
      set(figure_handle, 'Color', 'w');
      data=zeros(1, 100);
      data(1) = 1;
      data(2) = 1;
      data(3) = 1;
      t = [1 : 30] / 100 * 2 * pi;
      cur1=real(fft(data) / 3);
      cur1p = cur1(1 : 30);
      h_1(1) = plot(t, cur1p, 'LineStyle', '-', 'LineWidth', 2, 'Color', 'r');
      hold on
      h_1(2) = plot(t(15), cur1p(15), 'LineStyle', '-', 'LineWidth', 2,  'Color', 'r', 'Marker', 's', 'MarkerSize', 10, 'MarkerEdgeColor', 'r', 'MarkerFaceColor', 'r');
      set(h_1, 'Parent', hSGroup);
      set(get(get(hSGroup, 'Annotation'), 'LegendInformation'), 'IconDisplayStyle', 'on'); 
      cur2 = real(fft(data)) .* real(fft(data))/9;
      cur2p = cur2(1 : 30);
      h_2(1) = plot(t, cur2p, 'LineStyle', '-', 'LineWidth', 2, 'Color', 'g');
      h_2(2) = plot(t(12), cur2p(12), 'LineStyle', '-', 'LineWidth', 2, 'Color', 'g', 'Marker', 'o', 'MarkerSize',10, 'MarkerEdgeColor', 'g', 'MarkerFaceColor', 'g');
      set(h_2, 'Parent', hCGroup);
      set(get(get(hCGroup, 'Annotation'), 'LegendInformation'), 'IconDisplayStyle', 'on'); 
      legend('1 level', '2 levels');

    展开全文
  • Matlablegend函数

    2017-10-13 16:59:00
    1.legend('string1','string2',…)用指定的文字string在当前坐标轴中对所给数据的每一部分显示一个图例。 2.legend(h,'string1','string2',…)用指定的文字string在一个包含于句柄向量h中的图形显示图例。用给定的...
  • matlablegend函数的用法

    万次阅读 2018-12-19 16:34:28
    部分内容摘自:...legend 是matlab中用于设置图例的线条和patches的函数,例如下图右上角上的线条和字幕的设置等等。 函数使用方法: legend('string1','string2',...)  legend(h,'string1','string2',...
  • matlab部分函数使用

    2020-02-23 14:38:35
    matplotlib.pyplot.plot()参数详解 ... MATLAB之fprintf函数的具体使用方法 https://blog.csdn.net/u011089523/article/details/81045927 legend函数 https://www.c...
  • Matlab图里面的多列legend显示

    千次阅读 2019-07-24 17:40:13
    写文章的时候发现图里面的数据项太多,使用单行的legend会遮住部分数据,legend字调小了又看不太清,就用了下legend这个property。 在Matlab 2018里面的help文档里面搜下Legend Properties,关注两个属性...
  • legend部分用法

    2017-03-01 15:26:16
    使用方式:legend(‘act_color’),即需要在下划线前面加一个斜线就可以了,如果不加matlab会将下划线认为是下标的标示。 2. legend显示位置设置 legend({‘act_color’,’act_style’},’Location’,’...
  • matlab 饼图 加legend标注

    万次阅读 2018-08-09 21:23:54
    explode=[1,0,0]%这里是显示分割效果的,就是有一部分分割出来。 pie3([1,2,3],explode) 这样的确是画出来了,但是没有标注。 pie3函数里面直接有一个label标注,调用方法如下: pie3([1,2,3],explode,{'a','b'...
  • MATLABlegend 的使用简析

    千次阅读 2018-09-26 20:14:30
    目录 legend 在作图命令中(plot)给出图例标签; legend(label1,...,labelN) ...给部分函数添加图例; legend(___,'Location',lcn) 指定图例的位置(方向)以及显示的列数; lgd = legend(___)...
  • 图标legend('')中部分字体设置:正常编码出图后,选中legend框右击选择字型,找到自己想要的字体,记住字型名字。 回到图形legend框选中你想要改字型的字,将其删除,在图上方列表里选择‘插入’,‘文本框’构建一...
  • 1、横排 hl = legend('string1', 'string2');...2、只显示部分曲线的legend h1 = plot(data1); plot(data2); h2 = plot(data3); legend([h1,h2],'string1','string2'); % only show the leg...
  • MATLAB中如何选择Legend中的选择项

    千次阅读 2008-12-03 23:32:00
    今天碰到了一个新问题,如何在Legend中仅显示部分数据的标记,而不显示其他数据的标号?首先搜了一下,发现这里有个解决方案http://www.sciencenet.cn/blog/user_content.aspx?id=45936。说实话,其实算不上是解决...
  • 最近遇到一个问题,用matlab绘制一堆线和点之后,想添加一下图例,但是遇到两个新问题 ...网上搜了一大堆,无非是翻来覆去的控制legend 的属性或者选择性的绘制部分图例。 最终总算解决,卖个关子先
  • 设置x轴标题的字体粗细,样式,大小,同理y轴。 xlabel('Samples','fontsize',14,'FontName','Times New Roman','Fontweight','bold'); legend中只标注你想要的,注意要有:“[ ...hl=legend([lssvmh0,lssvmh1,lssv...
  • 不过就不能够有那个legend box了,否则很难看 最近再看matlab7,以及与matlab6.5.1区别,就这个程序而言也略有不同 代码都贴下面,这样画好后,只那个自己移动第二个legend ,第一是不可以移动的了 具体的还
  • matlab制图

    2018-04-10 22:44:00
    1. 插入图例的时候,如果仅保留部分,可以使用 legend([],'variable1','variable2'),'variable1'为第一个数据的名字,不要的图例使用[]代替 2. 修改X/Y轴的起始点和代号 红框的Auto要打掉勾,至于显示什么在...
  • Matlab瑞利信道AWGNBPSK另一种仿真方法我的毕设第二部分-rayleigh-awgn-BPSK仿真.txt 【资料名称】:rayleigh-awgn-BPSK仿真系统程序 【作者】:本人so 【内容简介】:用rayleighchan 函数仿真时要注意最后要做...
  • 1. 插入图例的时候,如果仅保留部分,可以使用legend([],'variable1','variable2'),'variable1'为第一个数据的名字,不要的图例使用[]代替2. 修改X/Y轴的起始点和代号红框的Auto要打掉勾,至于显示什么在“Ticks”...
  • matlab中使用LaTex

    2020-08-01 16:54:11
    个人的一些例子: title('y=x^{2}') %LaTex格式操控加{} 实际操作时若...legend('\color{magenta}y=cos({\omega}t)+{\beta}') %LaTex格式操控加{}+omega转义{ \ } 这个地方也要加{} 因为也是格式操控的一部分 ...
  • 以下内容为个人笔记,部分图片来源于郭老师课件或课程截图。 笔记汇总:MATLAB基础教程 课程视频:MATLAB基础教程-台大郭彦甫(14课全-高清-含课件) 文章目录基础绘图plot() 基本使用plot() 描点、连线legend() ...
  • 如何用matlab分组运算

    2019-04-17 17:02:37
    各位老师大家好,本人现在遇到了一个棘手的问题,不知如何使用matlab进行分组预算。 如图所示,本人已将数据进行分组完毕,运算部分的代码很简单,本人也已经完成,只是这个...%legend('样本点','拟合曲线') ```
  • matlab离散点连成的两曲线的交点-intersections.m 本帖最后由 kastin 于 2012-12-29 11:47 编辑 引言  曾经思考过曲面求交,结果发现是学术界的一个难题,并且也想出了一个当前广泛使用方法原理一样的近似...
  • 问题:如何在Matlab中,将图例绘制成多行多列的? 查找资料过程中发现, 1)有的方法要求多个plot中横坐标具有相同的长度 比如:https://blog.csdn.net/xgf415/article/details/56480011 2)高版本中,部分函数...
  • 以下是matlab代码,报错信息是:错误使用 plot 矢量长度必须相同。 检查了一下 报错的代码是plot(m,x0,'*',m,yuce,'r') 的后半部分,可是m和yuce的长度是一样的呀,都是52,每个年份都有其对应的预测值的,还望高手...
  • Matlab的FIG信息粒化SVM对于上证指数的预测-FIG_SVM_sh.rar 秉承着这个帖子: 利用libsvm做回归分析的一个小例子 https://www.ilovematlab.cn/thread-47453-1-1.html对于上证指数的预测我又做了一些探究,这次我...

空空如也

空空如也

1 2
收藏数 29
精华内容 11
关键字:

legendmatlab部分

matlab 订阅