-
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')
-
matlab中用legend函数标注部分曲线
2020-04-08 16:16:29有时候我们会画出很多曲线,但是只想标注一部分曲线,这时候就需要用句柄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:04h1=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');
-
-
Matlab中legend函数
2017-10-13 16:59:001.legend('string1','string2',…)用指定的文字string在当前坐标轴中对所给数据的每一部分显示一个图例。 2.legend(h,'string1','string2',…)用指定的文字string在一个包含于句柄向量h中的图形显示图例。用给定的... -
matlab中legend函数的用法
2018-12-19 16:34:28部分内容摘自:...legend 是matlab中用于设置图例的线条和patches的函数,例如下图右上角上的线条和字幕的设置等等。 函数使用方法: legend('string1','string2',...) legend(h,'string1','string2',... -
matlab部分函数使用
2020-02-23 14:38:35matplotlib.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:54explode=[1,0,0]%这里是显示分割效果的,就是有一部分分割出来。 pie3([1,2,3],explode) 这样的确是画出来了,但是没有标注。 pie3函数里面直接有一个label标注,调用方法如下: pie3([1,2,3],explode,{'a','b'... -
【 MATLAB 】legend 的使用简析
2018-09-26 20:14:30目录 legend 在作图命令中(plot)给出图例标签; legend(label1,...,labelN) ...给部分函数添加图例; legend(___,'Location',lcn) 指定图例的位置(方向)以及显示的列数; lgd = legend(___)... -
MATLAB 出图 legend(‘’)图例中部分字修改字型,同样适用于图标题
2019-06-20 20:15:12图标legend('')中部分字体设置:正常编码出图后,选中legend框右击选择字型,找到自己想要的字体,记住字型名字。 回到图形legend框选中你想要改字型的字,将其删除,在图上方列表里选择‘插入’,‘文本框’构建一... -
关于MATLAB中legend命令的一些操作
2019-12-25 09:47:171、横排 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(转!!!!)
2015-10-13 16:45:59最近遇到一个问题,用matlab绘制一堆线和点之后,想添加一下图例,但是遇到两个新问题 ...网上搜了一大堆,无非是翻来覆去的控制legend 的属性或者选择性的绘制部分图例。 最终总算解决,卖个关子先 -
MATLAB中设置坐标框图右上部分消失、设置坐标轴(xlabel)标题的字体粗细,样式,大小,设置plot中线条的...
2019-10-06 22:21:57设置x轴标题的字体粗细,样式,大小,同理y轴。 xlabel('Samples','fontsize',14,'FontName','Times New Roman','Fontweight','bold'); legend中只标注你想要的,注意要有:“[ ...hl=legend([lssvmh0,lssvmh1,lssv... -
多个legend以及标注部分图列构成多列图列
2004-08-24 02:18:00不过就不能够有那个legend box了,否则很难看 最近再看matlab7,以及与matlab6.5.1区别,就这个程序而言也略有不同 代码都贴下面,这样画好后,只那个自己移动第二个legend ,第一是不可以移动的了 具体的还 -
matlab制图
2018-04-10 22:44:001. 插入图例的时候,如果仅保留部分,可以使用 legend([],'variable1','variable2'),'variable1'为第一个数据的名字,不要的图例使用[]代替 2. 修改X/Y轴的起始点和代号 红框的Auto要打掉勾,至于显示什么在... -
Matlab瑞利信道AWGNBPSK另一种仿真方法我的毕设第二部分-rayleigh-awgn-BPSK仿真.txt
2019-08-12 23:51:08Matlab瑞利信道AWGNBPSK另一种仿真方法我的毕设第二部分-rayleigh-awgn-BPSK仿真.txt 【资料名称】:rayleigh-awgn-BPSK仿真系统程序 【作者】:本人so 【内容简介】:用rayleighchan 函数仿真时要注意最后要做... -
matlab设置保存图像分辨率_matlab制图,按分辨率保存
2020-12-20 21:30:031. 插入图例的时候,如果仅保留部分,可以使用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与数学建模:初阶绘图
2021-01-28 21:48:10以下内容为个人笔记,部分图片来源于郭老师课件或课程截图。 笔记汇总:MATLAB基础教程 课程视频:MATLAB基础教程-台大郭彦甫(14课全-高清-含课件) 文章目录基础绘图plot() 基本使用plot() 描点、连线legend() ... -
如何用matlab分组运算
2019-04-17 17:02:37各位老师大家好,本人现在遇到了一个棘手的问题,不知如何使用matlab进行分组预算。 如图所示,本人已将数据进行分组完毕,运算部分的代码很简单,本人也已经完成,只是这个...%legend('样本点','拟合曲线') ``` -
matlab离散点连成的两曲线的交点-intersections.m
2019-08-12 20:07:14matlab离散点连成的两曲线的交点-intersections.m 本帖最后由 kastin 于 2012-12-29 11:47 编辑 引言 曾经思考过曲面求交,结果发现是学术界的一个难题,并且也想出了一个当前广泛使用方法原理一样的近似... -
一个figure存在多个legend:多行多列图例
2018-07-18 22:05:54问题:如何在Matlab中,将图例绘制成多行多列的? 查找资料过程中发现, 1)有的方法要求多个plot中横坐标具有相同的长度 比如:https://blog.csdn.net/xgf415/article/details/56480011 2)高版本中,部分函数... -
MatLab 灰色预测模型预测人口数目 建模代码出错
2017-06-12 12:10:04以下是matlab代码,报错信息是:错误使用 plot 矢量长度必须相同。 检查了一下 报错的代码是plot(m,x0,'*',m,yuce,'r') 的后半部分,可是m和yuce的长度是一样的呀,都是52,每个年份都有其对应的预测值的,还望高手... -
Matlab的FIG信息粒化SVM对于上证指数的预测-FIG_SVM_sh.rar
2019-08-14 02:17:58Matlab的FIG信息粒化SVM对于上证指数的预测-FIG_SVM_sh.rar 秉承着这个帖子: 利用libsvm做回归分析的一个小例子 https://www.ilovematlab.cn/thread-47453-1-1.html对于上证指数的预测我又做了一些探究,这次我...
-
NFS 实现高可用(DRBD + heartbeat)
-
下一代图片压缩格式 AVIF怎么样?
-
物联网基础篇:快速玩转MQTT
-
用微服务spring cloud架构打造物联网云平台
-
Java发起http请求
-
你的格局决定你的结局(胜读十年书)
-
哈工大停用词表.zip
-
王者荣耀为什么这么火
-
shell实例-跨目录执行,彩色输出,临时文件,行遍历文件
-
Java面向对象
-
php发送邮箱代码mail.zip
-
基于Qt的LibVLC开发教程
-
KEA Code Warrior调试技巧.pdf
-
龙芯生态应用开发基础:C语言精要
-
SpringBootMaven打包到指定IP 通过Rancher升级
-
2021-02-26
-
2021 年该学的 CSS 框架 Tailwind CSS 实战视频
-
denny-hong:我的个人JAM堆栈博客和投资组合网站基于Nextjs-源码
-
2021-02-26
-
2021-02-26