当前位置: 首页 > article >正文

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,这样后绘制的图就不会覆盖前面的图。


http://www.kler.cn/a/16274.html

相关文章:

  • Qt主线程把数据发给子线程,主线程会阻塞吗
  • Docker 的安装与使用
  • 【项目组件】第三方库——websocketpp
  • 基于java的航空机票预定管理系统
  • 深度学习和图像处理
  • 408模拟卷较难题(无分类)
  • 『python爬虫』04. 爬虫需要知道的HTTP协议知识(保姆级图文)
  • 云和恩墨荣获2023数字中国创新大赛·信创赛道“最具发展潜力奖”等4个奖项
  • C语言从入门到精通第16天(指针的定义与基本使用)
  • PID控制---基于python模拟
  • 面向画布(Canvas)的JavaScript库
  • 【c语言小项目】基于easyX的俄罗斯方块
  • Analysis For Office的一些使用技巧
  • C++练级之初级:第六篇
  • 使用PyTorch和Flower 进行联邦学习
  • 重载new和delete
  • Flutter集成个推推送-安卓原生篇
  • 【电商必学】 WhatsApp 全新攻略:什么是交互式消息模板
  • 【Zookeeper源码走读】第一章 客户端与服务器的连接过程
  • 麓言信息设计创意思维,打开设计师思路
  • 智慧物流信息系统开发需具备哪些功能?
  • 2023北京老博会(中国国际老年产业博览会)展位预订迎高峰
  • 鸿蒙系统是什么?鸿蒙与开源鸿蒙的关系?鸿蒙系统的发展历程
  • H2O生成——屏障
  • 论文笔记:Model-Contrastive Federated Learning
  • TPM-TPM-Profile-PTP协议-2