文章目录
实例一:多子图、命令plot、图形标识(图名和横纵坐标)演示实例二:坐标轴的控制、图形标识(图例、注释)、多次叠绘、图像句柄、分格线实例三:双纵坐标、新建图像一个小参考绘图代码
https://ww2.mathworks.cn/help/matlab/ref/plot.html?searchHighlight=plot&s_tid=doc_srchtitle
实例一:多子图、命令plot、图形标识(图名和横纵坐标)演示
多子图:subplot (m,n,k) 一个窗口划分成m*n个小块,每个小块存放一个子图,k是子图的编号。 编号规则是: 从左到右边,从上到下依次编号。
%% 定义函数
t
= (0:pi
/50:2*pi
)'
; % 列向量
101*1
k
= (0.4 :0.1 :1); % 行向量
1*7
y
= cos(t
)*k
; % 矩阵
101*7
%% 画第一幅子图
subplot(2,2,1); %操作两幅子图中的第一幅
plot(t
,y
,'r','LineWidth',1.5 ); %画图,t是横坐标,y是纵坐标,属性 lineWidth的值是
1.5(即线宽度为
1.5)
, 颜色为红色(手动指定)
title('y随t的变化图'); %图名
xlabel('t'); %横坐标轴名
ylabel('y = cos(t)*k '); %纵坐标轴名
%% 画第二幅子图
subplot(2,2,2); %操作两幅子图中的第二幅
plot(k
,y
,'LineStyle',':'); % 线的形状是虚点线,色彩是彩色的,当有多条线,且不指定时,按照默认的色彩次序用细实线绘制多条曲线
title('y随k的变化图'); %图名
xlabel('k'); %横坐标轴名
ylabel('y = cos(t)*k '); %纵坐标轴名
%% 画第三幅子图
subplot(2,2,3); %操作两幅子图中的第三幅
plot(t
,y
,k
,y
, 'Marker','*','MarkerSize',7.0); % 一幅图上有两个数据集,设置数据点形为
*,大小是
7.0
title('y随两种参数的两种变化图'); %图名
xlabel('k'); %横坐标轴名
ylabel('y = cos(t)*k '); %纵坐标轴名
实例二:坐标轴的控制、图形标识(图例、注释)、多次叠绘、图像句柄、分格线
多次叠绘: 在已有图像的上再绘制图像
%% 定义函数
x
= 0:0.01:2*pi
;
y1
= sin(x
);
y2
= cos(x
);
%% 画图
/多次叠绘
F1
= plot(x
,y2
) %设置图像的句柄为F1
set(F1
,'LineStyle','-.','color','b');%对F1的图像进行设置
hold on
%在y1图像的基础上,再绘制y2图像
F2
= plot(x
,y1
,'r') %设置图像的句柄为F1
set(F2
,'color','r'); %对F1的图像进行设置
%% 加注释
(完全可以用图形化界面工具来做
)
text(3,0.1,'{\fontsize{15}\leftarrow这个地方好陡峭}');
%% 加网格
grid on
; %应用分格线(网格)
set(gca
,'xtick',[0:0.5:7]) ; % 修改网格间隔。获得gca句柄
(坐标轴的句柄
),设置xtick(x轴网格)从
0~7,间隔是
0.5
set(gca
,'ytick',[-1 ;-0.6;0;0.6;1]); %固定网格线
%% 加图例
(完全可以用图形化界面工具来做
)
h
= legend([F2
,F1
],'sin(x)','cos(x)'); %加一个图例,句柄h。 指明F2是
sin(x
),F1是
cos(x
)
set(h
,'fontsize',16,'color','k','edgecolor','r','textcolor','w') ; %对图例h进行精细设置
%% 坐标轴控制
axis([0,2*pi
-0.4,-0.8,1]); %将横坐标范围设定到
0~2*pi
-0.4,纵坐标范围设定到
-0.8~1
%% 横纵坐标的名称
title('{\fontsize{14}\bfsin(x)和cos(x)的曲线}');
xlabel('{\fontsize{14}\bft\rightarrow}') ;
ylabel('{\fontsize{14}\bfy}') ;
%% 拆分图例,能够让图例中的F1和F2分离开,各自都能相互移动
ax1
= axes('position',get(gca
,'position'),'visible','off');
legend(ax1
,F1
,'sin(x)','location','northwest');
ax2
= axes('position',get(gca
,'position'),'visible','off');
legend(ax2
,F2
,'cos(x)','location','northeast');
实例三:双纵坐标、新建图像
双纵坐标: 一个x自变量,有两个y函数对于之对应。新建图像: 在软件打开一张图像后,运行下一个代码,再打开一张图像,而不是把原来的图像关闭
%% 定义函数
x
= 0:0.01:20;
y1
= 200*exp(-0.05*x
).*
sin(x
);
y2
= 0.8*exp(-0.5*x
).*
sin(10*x
);
%% 画图
figure
; % 新建一个图像
[AX
,H1
,H2
] = plotyy(x
,y1
,x
,y2
); %返回在AX中创建的两个轴的句柄和来自H1和H2中的每个图的图形对象的句柄。 AX(
1)是左轴,AX(
2)是右轴。
%% 设置两个纵坐标的名称
set(get(AX(1),'ylabel'),'String','Slow Decay') %第一个纵坐标的名称
set(get(AX(2),'ylabel'),'String','Fast Decay') %第二 个纵坐标的名称
%上述两行代码可以用以下两行代码替换。
%ylabel(AX(1),'Slow Decay') % left y
-axis
%ylabel(AX(2),'Fast Decay') % right y
-axis
%% 设置两个纵坐标的样式
set(H1
,'LineStyle','--') %设置虚线
set(H2
,'LineStyle',':') %设置为点线
%% 设置标题和横坐标
xlabel('Time (\musec)') %横坐标的名称
title('Multiple Decay Rates') %标题
·---------------------------------------补充201904-----------------------------------------------------------------
一个小参考绘图代码
figure
x
=1:10:200 ;
f1
= semilogy(x
,t20(1:10:200,1));
hold on
;
f2
= semilogy(x
,t20(1:10:200,2));
hold on
;
f3
= semilogy(x
,t20(1:10:200,3));
set(f1
,'Color','r',...
'LineStyle','-',...
'LineWidth',1.5,...
'Marker','^',...
'MarkerSize',10 ...
);
set(f2
,'Color','k',...
'LineStyle','-',...
'LineWidth',1.5,...
'Marker','o',...
'MarkerSize',10 ...
);
set(f3
,'Color','b',...
'LineStyle','-',...
'LineWidth',1.5,...
'Marker','d',...
'MarkerSize',10 ...
);
h
= legend([f1
,f2
,f3
],'HB-GOA','IGPSO','BASFPA'); %设置图例
set(h
,'fontsize',15) ;
set(f1
,'defaultfigurecolor','w') % 设置周围颜色为白色
set(gca
,'FontSize',13); % 设置坐标轴刻度和坐标轴文字的大小
xlabel('迭代次数','FontSize',20) ; % 重新设置坐标轴文字的大小
ylabel('目标函数值','FontSize',20) ;
转载请注明原文地址: https://ju.6miu.com/read-15440.html