matlab绘制折线图基本操作
本篇博客主要总结matlab绘制折线图的基本操作,使用的函数是plot函数,关于plot的函数语法规则,这里不再赘述,可以参考matlab官方文档,https://ww2.mathworks.cn/help/matlab/ref/plot.html#d124e1037051,不看也没关系,因为后面我会总结得很详细。
绘制折线图,首先我们要设定线型,线条颜色和标记,如下面这段代码:
x=1:1:10;%生成一个1-10范围内的增量为1的等间距行向量
y=[1 2 3 1 2 3 1 2 3 5];%生成一个行向量y
plot(x,y,'-vr');%以x作为横坐标,y作为纵坐标绘制折线图,其中-表示线型为实线,v表示标记为倒三角,r表示线条颜色为红色
运行结果如下:
指定线型,颜色和标记的顺序无所谓,上面那段代码我是先指定线型,然后指定标记,再指定线条颜色的,我完全可以换种顺序指定,比如下面这段代码,我是先指定标记,再指定线条颜色,最后指定线型的。
x=1:1:10;
y=[1 2 3 1 2 3 1 2 3 5];
plot(x,y,'vr-');
运行结果与上面的一模一样:
如果不指定颜色,则使用默认颜色,不指定标记,就没有标记,不指定线型,就会没有线型。
不指定线型:
x=1:1:10;
y=[1 2 3 1 2 3 1 2 3 5];
plot(x,y,'vr');
不指定标记:
x=1:1:10;
y=[1 2 3 1 2 3 1 2 3 5];
plot(x,y,'-r');
线型种类如下:
颜色种类如下:
标记种类如下:
设置线条颜色,我们可以自定义RGB三元组,将线条颜色调成我们想要的颜色
x=1:1:10;%生成一个1-10范围内的增量为1的等间距行向量
y=[1 2 3 1 2 3 1 2 3 5];%生成一个行向量y
plot(x,y,'-v','color',[1,0.2,0.9]);%以x作为横坐标,y作为纵坐标绘制折线图,'color'表示设定线条颜色,其值就是RGB三元组,表示具体颜色三元组
运行结果如下:
然后,我们要设置线宽,标记大小,标记边缘颜色和标记面部颜色,如下面这段代码:
x=1:1:10;
y=[1 2 3 1 2 3 1 2 3 5];
linewidth_line=1.5;%线宽1.5
markersize=5;%标记大小
plot(x,y,'-vb','linewidth',linewidth_line,...
'markersize',markersize,'markerEdgeColor',[1,0,0],'markerfacecolor',[1,0,0]);%linewidth表示线宽,其后接具体值,makersize表示标记大小,其后接具体值,markerEdgeColor表示标记边缘颜色,其后接具体值,markerfacecolor表示标记颜色,其后接具体值
运行结果如下:
如果不设置标记边缘颜色,那么其边缘颜色就与线条颜色一致
运行结果如下:
x=1:1:10;
y=[1 2 3 1 2 3 1 2 3 5];
linewidth_line=1.5;%线宽1.5
markersize=5;%标记大小
plot(x,y,'-vg','linewidth',linewidth_line,...
'markersize',markersize,'markerfacecolor',[1,0,0]);
再者,我们要设置轴标签、标题、图例和字体:
x=1:1:10;
y=[1 2 3 1 2 3 1 2 3 5];
linewidth_line=1.5;%线宽1.5
markersize=5;%标记大小
plot(x,y,'-vb','linewidth',linewidth_line,...
'markersize',markersize,'markerEdgeColor',[1,0,0],'markerfacecolor',[1,0,0]);
ylabel('Press/(Mpa)')%设置y轴标签
xlabel('Time/(s)')%设置x轴标签
legend('load 1')%设置图例
title('Transmation of the Load with the Time')%设置标题
set(gca,'FontName','Times New Roman','FontSize',12)%FontName:字体
图例顺序与plot顺序一致
运行结果如下:
可以添加legend box off;
来关闭图例边框
x=1:1:10;
y=[1 2 3 1 2 3 1 2 3 5];
linewidth_line=1.5;%线宽1.5
markersize=5;%标记大小
plot(x,y,'-vb','linewidth',linewidth_line,...
'markersize',markersize,'markerEdgeColor',[1,0,0],'markerfacecolor',[1,0,0]);
ylabel('Press/(Mpa)')
xlabel('Time/(s)')
legend('load 1')
legend box off
title('Transmation of the Load with the Time')
set(gca,'FontName','Times New Roman','FontSize',12)%FontName:字体
运行结果如下:
可以添加box off
来关闭坐标区轮廓
x=1:1:10;
y=[1 2 3 1 2 3 1 2 3 5];
linewidth_line=1.5;%线宽1.5
markersize=5;%标记大小
plot(x,y,'-vb','linewidth',linewidth_line,...
'markersize',markersize,'markerEdgeColor',[1,0,0],'markerfacecolor',[1,0,0]);
ylabel('Press/(Mpa)')
xlabel('Time/(s)')
legend('load 1')
legend box off
title('Transmation of the Load with the Time')
box off
set(gca,'FontName','Times New Roman','FontSize',12)%FontName:字体
运行结果如下:
最后,我们设置一下图片的大小,使其插入word文档或者PPT中更加美观:
x=1:1:10;
y=[1 2 3 1 2 3 1 2 3 5];
linewidth_line=1.5;%线宽1.5
markersize=5;%标记大小
plot(x,y,'-vb','linewidth',linewidth_line,...
'markersize',markersize,'markerEdgeColor',[1,0,0],'markerfacecolor',[1,0,0]);
ylabel('Press/(Mpa)')
xlabel('Time/(s)')
legend('load 1','load 2')
legend box off
title('Transmation of the Load with the Time')
set(gca,'FontName','Times New Roman','FontSize',12)%FontName:字体
box off;
set(gcf,'unit','centimeters','position',[5,5,12,9])
%gcf表示当前图形窗口,'unit'是单位设置,这里设置为'centimeters',
%'position'是图形窗口的位置和尺寸设置,其值为[5,5,12,9]
%[5,5,12,9]表示绘制的图像在页面上的宽度为12cm,高度为9cm,相对于页面左下角的位置为(5,5)
如果我们想画多个折线图,只需要继续使用plot函数并且结合hold on:
x=1:1:10;
y1=[1 2 3 1 2 3 1 2 3 5];
y2=[1 2 3 4 5 6 7 8 9 10];
linewidth_line=1.5;%线宽1.5
markersize=5;%标记大小
plot(x,y1,'-vb','linewidth',linewidth_line,...
'markersize',markersize,'markerEdgeColor',[1,0,0],'markerfacecolor',[1,0,0]);
hold on
plot(x,y2,'-D','color',[48,151,164]/255,'linewidth',linewidth_line,...
'markersize',markersize,'markerfacecolor',[48,151,164]/255);
ylabel('Press/(Mpa)')
xlabel('Time/(s)')
legend('load 1','load 2')
legend box off
title('Transmation of the Load with the Time')
set(gca,'FontName','Times New Roman','FontSize',12)%FontName:字体
box off;
如果不使用hold on,那么后画的图就会覆盖前面的图
x=1:1:10;
y1=[1 2 3 1 2 3 1 2 3 5];
y2=[1 2 3 4 5 6 7 8 9 10];
linewidth_line=1.5;%线宽1.5
markersize=5;%标记大小
plot(x,y1,'-vb','linewidth',linewidth_line,...
'markersize',markersize,'markerEdgeColor',[1,0,0],'markerfacecolor',[1,0,0]);
plot(x,y2,'-D','color',[48,151,164]/255,'linewidth',linewidth_line,...
'markersize',markersize,'markerfacecolor',[48,151,164]/255);
ylabel('Press/(Mpa)')
xlabel('Time/(s)')
legend('load 1','load 2')
legend box off
title('Transmation of the Load with the Time')
set(gca,'FontName','Times New Roman','FontSize',12)%FontName:字体
box off;
运行结果如下:
最后进行一个总结,绘制折线图,我们需要设置线型、标记、线条颜色,还需要设置线宽、标记大小、标记边缘颜色、标记面部颜色,还需要设置轴标签、标题、图例和字体,最后再设置一下图片的大小,如果需要绘制多个图,需要使用hold on
,这样后绘制的图就不会覆盖前面的图。