MATLAB常用画图命令汇总

article/2025/9/29 7:22:54

自己在建模时常用到的绘图命令,总结的时候也实操了一下,发现了很多通往新世界的大门

我不生产文章,我只是帮助中心的搬运工~​

(一)二维图像

1.散点图 scatter()

​scatter(x,y,sz,c,mkr.filled,)

sz:指定圆圈的大小(数值或向量。默认:36)

c:指定圆圈的颜色

mkr:标记类型(默认:o)

filled:用于填充标记内部的选项

MarkerEdgeColor:标记轮廓颜色

MarkerFaceColor:标记填充颜色

LineWidth:标记边的宽度

【例1.1.1】

x=linspace(0,3*pi,200);         %产生[0,3π]之间的200个均匀的点,语句同x=0:(3*pi-0)/200:3*pi
y=cos(x)+rand(1,200);           %产生散落在y=cos(x)上下的点
sz=linspace(1,100,200);         %散点大小:从1到100逐渐增大
c=linspace(1,100,200);          %散点颜色:RGB1-50的渐变scatter(x,y,sz,...              %修改散点大小c,...                       %修改散点颜色'p',...                     %修改散点形状(五角星)'filled',...                %填充标记
'LineWidth',2);                 %修改线条宽度

参考网站:散点图 - MATLAB scatter - MathWorks 中国

2.折线图 plot()

plot(X,Y)

X 和 Y 都是向量:长度必须相同,绘制 Y 对 X 的图。

X 和 Y 都是矩阵:大小必须相同,绘制 Y 的列对 X 的列的图。

plot(X,Y,LineSpec)

LineSpec设置线型标记颜色。指定为包含符号的字符向量或字符串(用’ ’引用)。符号可以按任意顺序显示。不需要同时指定所有三个特征,例如,如果忽略线型,只指定标记,则绘图只显示标记,不显示线条。

线型

标记

颜色

-   实线(缺省默认)

o 圆圈

y 黄色

--  虚线

+ 加号

m 品红色

:   点线

* 星号

c 青蓝色

-.  点划线

.  点

r 红色

x 叉号

g 绿色

_ 水平线条

b 蓝色(和默认的蓝色不一样)

| 垂直线条

w 白色(看不见,别用)

s或square 方形

k 黑色

d或diamond 菱形

^ 上三角

v 下三角

> 右三角

< 左三角

p或pentagram 五角形

h或hexagram 六角形

【例1.2.1】

X=1:5;
Y=X.^2;plot(X,Y,'--*r');

【例1.2.2】

X=[1 2 3 4 5;6 7 8 9 10];
Y=X.^2;plot(X,Y,'.-m')

plot(X1,Y1,...,Xn,Yn)

绘制多个 X、Y 对组的图,所有线条都使用相同的坐标区。

*注:和使用hold on同时绘制三幅图是一样的效果。

【例1.2.3】

X1=1:5;    X2=2:6;    X3=3:7;
Y1=X1.^2;  Y2=X2.^3;  Y3=2*X3;plot(X1,Y1,X2,Y2,X3,Y3);%同理:
% plot(X1,Y1);    
% hold on
% plot(X2,Y2);
% hold on
% plot(X3,Y3);

 

plot(X1,Y1,LineSpec1,...,Xn,Yn,LineSpecn)

设置每个线条的线型、标记符号和颜色。可以只对其中的某些Xn,Yn作指定。

plot(Y)

Y 是向量:x 轴的刻度范围是从 1 至 length(Y)。

Y 是矩阵:绘制 Y 中各列对其行号的图。x 轴的刻度范围是从 1 到 Y 的行数。

如果 Y 是复数,则 plot 函数绘制 Y 的虚部对 Y 的实部的图,使得 plot(Y) 等效于 plot(real(Y),imag(Y))。

plot(___,Name,Value)

使用一个或多个Name,Value对组参数指定线条属性。

  • LineWidth - 线条宽度(默认:0.5)
  • MarkerIndices - 要显示标记的数据点(默认:1:length(Y))
  • MarkerEdgeColor - 标记轮廓颜色(默认:’auto’)
  • MarkerFaceColor - 标记填充颜色(默认:’none’)
  • MarkerSize - 标记大小(默认:6)

【例1.2.4】画图要求:

线型:绿色虚线

线宽:2

标记大小:10

标记轮廓颜色:蓝色

标记填充颜色RGB:0.5,0.5,0.5

在第1,5,10个点处显示标记

x = -pi:pi/10:pi;
y = tan(sin(x)) - sin(tan(x));
plot(x,y,'--gs',...                         %线型:虚线  颜色:绿色  标记形状:方形'LineWidth',2, ...                      %线条粗细:2'MarkerSize',10,...                     %标记大小:10'MarkerEdgeColor','b',...               %标记轮廓颜色:蓝色'MarkerFaceColor',[0.5,0.5,0.5],...     %标记填充RGB(灰色)'MarkerIndices',[1 5 10]);              %标记出现位置:第1,5,10个点处

参考网站:二维线图 - MATLAB plot - MathWorks 中国

3.其他图

3.1 圆形(参数方程法)

绘制以点 (4,3) 为中心以 2 为半径的圆。使用 axis equal 可沿每个坐标方向使用相等的数据单位。

【例1.3.1】

r = 2;                      %半径xc = 4;                     %圆心横坐标yc = 3;                     %圆心纵坐标theta = linspace(0,2*pi);   %参数θ范围x = r*cos(theta) + xc;      %用参数表示x范围y = r*sin(theta) + yc;      %用参数表示y范围plot(x,y)                   %画图axis equal

3.2 有两个纵坐标轴的图

<方法一> 函数yyaxis

yyaxis left
yyaxis right

【例1.3.3.1】

x=linspace(0,10);
y1=sin(3*x);
yyaxis left
plot(x,y1);             %绘制左半边坐标轴的图
ylabel('左半边的图');    %左半边坐标轴标签y2=sin(3*x).*exp(x./2);
yyaxis right
plot(x,y2);             %绘制右半边坐标的图
ylim([-150 150]);       %右半边坐标轴的显示范围
ylabel('右半边的图');    %右半边坐标轴标签

参考网站:创建具有两个 y 轴的图 - MATLAB yyaxis - MathWorks 中国

<方法二> plotyy

*注:官网由于兼容性问题不推荐这个方法,我的matlab是2018a版,可以用,其他版本酌情使用

参考文章:http://t.csdn.cn/8LGoL

参考网站:(不推荐)创建具有两个 y 轴的图形 - MATLAB plotyy - MathWorks 中国

3.3 直.方.图【待补充】

3.4 热图

此处贴一个用过的画相关系数热力图的代码,打包成函数了,输入变量名和要画图的矩阵就可以用

函数部分:

function Heatmap(string_name,rho)
%绘制相关系数热力图
%string_name:变量名  rho:相关系数矩阵(可以不是相关系数,但必须是方阵)
xvalues = string_name;
yvalues = string_name;
h = heatmap(xvalues,yvalues,rho, 'FontSize',10, 'FontName','宋体'); %绘图参数
colormap('winter'); %颜色sortx(h,'y'); %按y的相关系数升序排列(可以换成其他变量,也可以不排序。排序后画出图的相关系数阵对角线不一定都是1)

调用:

%y,x1,x2,...,x6的列向量略,如果求各向量的相关系数的话所有向量长度需相同string_name={'y','x1','x2','x3','x4','x5','x6'}; %横纵轴各变量名
[rho,pval]=corr([y,x1,x2,x3,x4,x5,x6]); %求各变量的相关系数,rho是相关系数figure;
Heatmap(string_name,rho); %画相关系数的热力图

有个问题我一直没有解决:数值是Nan时热力图是黑色的,好像可以改成无色,但是我没有实践成功,等待一个会改的好心人来教教我,感激不尽~

热力图颜色设置缺省时默认是蓝白,改成'spring','summer','autumn','winter'都可以,'cool'按理说也可以但是不知道为什么会报错。更多颜色可以看这个帖子:

https://wenku.baidu.com/view/c7b16b1264ec102de2bd960590c69ec3d4bbdb45.htmlhttps://wenku.baidu.com/view/c7b16b1264ec102de2bd960590c69ec3d4bbdb45.html

3.5 Voronoi 图

Voronoi 图由一组由连接两邻点直线的垂直平分线组成的连续多边形组成

voronoi(x,y)

(x,y)是一组点的坐标。

【例1.3.4.1】

rng default;        %随机数种子,使用'shuffle','default'或小于 2^32 的非负整数种子
x = rand([1 10]);   %生成10个随机数作为点的横坐标
y = rand([1 10]);   %生成10个随机数作为点的纵坐标
voronoi(x,y)        %绘制voronoi图
axis equal

 

 参考网站:Voronoi 图 - MATLAB voronoi - MathWorks 中国

4.辅助操作

4.1 标题

title('titletext','subtitletext', 'Color','blue');
t.FontSize = 16;
s.FontAngle = 'italic';

titletext:主标题

subtitletext:副标题(可缺省)

color:主副标题颜色(默认:黑色)

t.FontSize:主标题大小

s.FontAngle:副标题字体角度

参考网站:添加标题 - MATLAB title - MathWorks 中国

4.2 坐标轴标签

xlabel('txt')

给x轴添加标签(或替换原x轴标签),y轴标签语句为ylabel(txt)

xlabel({'Population','(in thousands)'});

用{ }添加多行标签

xlabel('Population','FontSize',12,'FontWeight','bold','Color','r');

FontSize:字号

FontWeight:字体粗细

Color:字体颜色

xlabel('-2\pi \leq x \leq 2\pi')

\pi:π

\leq:≤

特殊字符语句汇总:4.6特殊字符LaTeX语句

xlabel('t_{seconds}');
ylabel('e^t');

_后为下标^后为上标,上下标若为多个字符需用{ }括起来

参考网站:为 x 轴添加标签 - MATLAB xlabel - MathWorks 中国

4.2 坐标轴范围

xlim([xmin xmax]);

xmin:横坐标轴起始值,若为-inf则由matlab自动选择x轴的起始值

xmax:横坐标轴终止值,若为inf则由matlab自动选择x轴的终止值

参考网站:

​​​设置或查询 x 坐标轴范围 - MATLAB xlim - MathWorks 中国

设置或查询 y 坐标轴范围 - MATLAB ylim - MathWorks 中国

4.3设置坐标轴显示方式/修改坐标轴刻度坐标

xticks([lab1 lab2 lab3 …]);

x轴坐标在第lab1,lab2,lab3,…个位置显示刻度值(lab1,lab2,lab3,…均为数字,中间用空格分隔)

xticklabels({'labels1','labels2','labels3',…});

x轴在第lab1,lab2,lab3,…个位置的刻度显示为字符(串)labels1,labels2,labels3,…(若刻度为数值也需要用单引号引起来)

【例1.6.1】

x = linspace(0,6*pi);
y = sin(x);
plot(x,y)
xlim([0 6*pi])      %x轴范围:0-6π
xticks(0:pi:6*pi)   %在0,π,2π,...,6π处显示刻度值
xticklabels({'0','\pi','2\pi','3\pi','4\pi','5\pi','6\pi'}); 
%若不写该语句,各刻度显示的是π,2π,...6π的小数值

【例1.6.2】

x=linspace(0,2*pi,200);
y=sin(x);
plot(x,y);
xticks(0:pi:2*pi)
set(gca,'Xticklabel',['0';'1';'2']);    %另一种设置刻度的方式
% 或:
% x1=0:2;
% set(gca,'Xticklabel',[x1]);

参考网站:

设置或查询 x 轴刻度标签 - MATLAB xticklabels - MathWorks 中国

matlab set函数_szv123_rier的专栏-CSDN博客_matlab set

4.4 向数据点添加文本

text(x,y,'txt','Color','red','FontSize',14)

x,y:要添加文本的位置

txt:文本内容(自行修改)

Color:文本颜色

FontSize:文本大小

参考网站:向数据点添加文本说明 - MATLAB text - MathWorks 中国

4.5 图例

legend('leg1','leg2',…);

leg1,leg2,…是要添加的图例名称(字符串),自动对应plot()中图像的先后顺序。

参考网站:在坐标区上添加图例 - MATLAB legend - MathWorks 中国

4.6 特殊字符TeX语句

字体设置

修饰符

说明

示例

^{ }

上标

'text^{superscript}'

_{ }

下标

'text_{subscript}'

\bf

粗体

'\bf text'

\it

斜体

'\it text'

\sl

伪斜体(通常与斜体相同)

'\sl text'

\rm

常规字体

'\rm text'

\fontname{specifier}

字体名称 - 将 specifier 替换为字体系列的名称。可以将此说明符与其他修饰符结合使用。

'\fontname{Courier} text'

\fontsize{specifier}

字体大小 - 将 specifier 替换为以磅为单位的数值标量值。

'\fontsize{15} text'

\color{specifier}

字体颜色 - 将 specifier 替换为以下颜色之一:redgreenyellowmagentablueblackwhitegraydarkGreenorange 或 lightBlue

'\color{magenta} text'

\color[rgb]{specifier}

自定义字体颜色 - 将 specifier 替换为三元素 RGB 三元组。

'\color[rgb]{0,0.5,0.5} text'

希腊字母及特殊符号

字符序列

符号

字符序列

符号

字符序列

符号

\alpha

α

\upsilon

υ

\sim

~

\angle

\phi

\leq

\ast

*

\chi

χ

\infty

\beta

β

\psi

ψ

\clubsuit

\gamma

γ

\omega

ω

\diamondsuit

\delta

δ

\Gamma

Γ

\heartsuit

\epsilon

ϵ

\Delta

Δ

\spadesuit

\zeta

ζ

\Theta

Θ

\leftrightarrow

\eta

η

\Lambda

Λ

\leftarrow

\theta

θ

\Xi

Ξ

\Leftarrow

\vartheta

ϑ

\Pi

Π

\uparrow

\iota

ι

\Sigma

Σ

\rightarrow

\kappa

κ

\Upsilon

ϒ

\Rightarrow

\lambda

λ

\Phi

Φ

\downarrow

\mu

µ

\Psi

Ψ

\circ

º

\nu

ν

\Omega

Ω

\pm

±

\xi

ξ

\forall

\geq

\pi

π

\exists

\propto

\rho

ρ

\ni

\partial

\sigma

σ

\cong

\bullet

\varsigma

ς

\approx

\div

÷

\tau

τ

\Re

\neq

\equiv

\oplus

\aleph

\Im

\cup

\wp

\otimes

\subseteq

\oslash

\cap

\in

\supseteq

\supset

\lceil

\subset

\int

\cdot

·

\o

ο

\rfloor

\neg

¬

\nabla

\lfloor

\times

x

\ldots

...

\perp

\surd

\prime

´

\wedge

\varpi

ϖ

\0

\rceil

\rangle

\mid

|

\vee

\langle

\copyright

©

要使用 LaTeX 标记,需将解释器设置为 'latex'。对于行内模式,用单美元符号 ($) 将标记括起来。对于显示模式,用双美元符号 ($$) 将标记括起来。

LaTeX 模式

示例

结果

行内

'$\int_1^{20} x^2 dx$'

显示

'$$\int_1^{20} x^2 dx$$'

参考网站:向数据点添加文本说明 - MATLAB text - MathWorks 中国

4.7 其他

hold on

保留当前坐标区中的绘图,使新添加到坐标区中的绘图不会删除现有绘图。

grid on

显示 gca 命令返回的当前坐标区的主网格线。主网格线从每个刻度线延伸。

参考网站:

添加新绘图时保留当前绘图 - MATLAB hold - MathWorks 中国

显示或隐藏坐标区网格线 - MATLAB grid - MathWorks 中国

(二)三维图像

1 p.l.o.t.3【待补充】

2 s.u.r.f【待补充】

附:一些配色网站,提供16位颜色代码

- Culrs | Culrs gives you a simple smart approach to choose color paletteshttps://www.culrs.com/#/ColorSpace - Color Palettes Generator and Color Gradient Tool (mycolor.space)https://mycolor.space/ 


http://chatgpt.dhexx.cn/article/GQknZfnV.shtml

相关文章

Prometheus完整搭建及实战各种监控

一.Prometheus介绍 Prometheus&#xff08;普罗米修斯&#xff09;是一个最初在SoundCloud上构建的监控系统。自2012年成为社区开源项目&#xff0c;拥有非常活跃的开发人员和用户社区。为强调开源及独立维护&#xff0c;Prometheus于2016年加入云原生云计算基金会&#xff08;…

Prometheus【普罗米修斯】+Grafana部署企业级监控之 promQL语法

一、PromQL介绍 PromQL (Prometheus Query Language) 是 Prometheus 自己开发的数据查询 DSL 语言&#xff0c;语言表现力非常丰富&#xff0c;内置函数很多&#xff0c;在日常数据可视化以及rules 告警中都会使用到它。 1.1 表达式数据类型&#xff1a; 在prometheus的表达…

Granafa监控仪表盘:自定义简约型-只显示资源总览,各个主机详情

目录 前言 Grafana选择监控仪表盘 自定义简约型-只显示资源总览&#xff0c;各个主机详情 监控仪表盘JSON数据 前言 相关参考&#xff1a;Windows监控&#xff1a;基于PrometheusGrafana监控CPU、内存、磁盘、网络、GPU信息 Grafana选择监控仪表盘 访问地址&#xff1a;htt…

翻译:Irate绘图更精准

原文&#xff1a;Irate graphs are better graphs | Robust Perception Prometheus 0.16.1 was just released, and with it brings my addition of the irate function. This offers more responsive graphs and higher resolution dashboards. 刚刚发布的普罗米修斯 0.16.1&a…

prometheus-rate、irate、increase函数使用场景

rate() rate(v range-vector)计算范围向量中时间序列的每秒平均平均增长率。单调性中断&#xff08;例如由于目标重启而导致的计数器重置&#xff09;会自动进行调整。同样&#xff0c;计算会外推到时间范围的末尾&#xff0c;从而允许遗漏刮擦或刮擦周期与该范围的时间段不完…

Prometheus监控 rate与irate的区别

对官网文档的解读irate和rate都会用于计算某个指标在一定时间间隔内的变化速率。但是它们的计算方法有所不同&#xff1a;irate取的是在指定时间范围内的最近两个数据点来算速率&#xff0c;而rate会取指定时间范围内所有数据点&#xff0c;算出一组速率&#xff0c;然后取平均…

Prometheus中 rate、irate、increase函数的使用场景

首先给出Prometheus的文档&#xff0c;建议先了解一下 官方文档 以及本文的参考文档&#xff1a; 参考文档 rate() rate(v range-vector)计算范围向量中时间序列的每秒平均平均增长率。单调性中断&#xff08;例如由于目标重启而导致的计数器重置&#xff09;会自动进行调整。…

PromQL 计算Counter指标增长率 rate irate increase

我们知道Counter类型的监控指标其特点是只增不减&#xff0c;在没有发生重置&#xff08;如服务器重启&#xff0c;应用重启&#xff09;的情况下其样本值应该是不断增大的。为了能够更直观的表示样本数据的变化剧烈情况&#xff0c;需要计算样本的增长速率。 如下图所示&…

PromQL 平均增长率 rate 函数 瞬时增长率 irate函数 只针对counter指标类型

计算Counter指标增长率 我们知道Counter类型的监控指标其特点是只增不减&#xff0c;在没有发生重置&#xff08;如服务器重启&#xff0c;应用重启&#xff09;的情况下其样本值应该是不断增大的。为了能够更直观的表示样本数据的变化剧烈情况&#xff0c;需要计算样本的增长速…

普罗米修斯irate/rate算法区别(原创)

文章目录 irate算法流程特点代码 rate函数流程特点代码 irate算法 流程 选取时间范围内最后两个点&#xff1a;end1,end2 计算两个点的差值&#xff0c;这里分两种情况&#xff1a; ​ 正常情况下&#xff1a;end2 > end1 &#xff0c;此时 value end2 - end1 ​ 异常情况…

Prometheus-rate与irate源码详解

我们先看prometheus的函数格式 一 类型 var Functions map[string]*Function{..."rate": {Name: "rate",ArgTypes: []ValueType{ValueTypeMatrix},ReturnType: ValueTypeVector,Call: funcRate,},..."irate": {Name: &qu…

Prometheus监控:rate与irate的区别

对官网文档的解读 irate和rate都会用于计算某个指标在一定时间间隔内的变化速率。但是它们的计算方法有所不同&#xff1a;irate取的是在指定时间范围内的最近两个数据点来算速率&#xff0c;而rate会取指定时间范围内所有数据点&#xff0c;算出一组速率&#xff0c;然后取平…

【博客486】prometheus-----rate,irate,increase的原理

prometheus-----rate&#xff0c;irate&#xff0c;increase的原理 三者综合比较 这三个函数接受的都是 Range Vector&#xff0c;返回的是 Instant Vector&#xff0c;比较常用。 区别&#xff1a; rate计算指定时间范围内&#xff1a;增量/时间范围&#xff1b; irate计算指…

【博客650】irate适用于绘制细粒度灵敏图,但警惕用于告警

irate适用于绘制细粒度灵敏图&#xff0c;但警惕用于告警 1、irate解析 作用&#xff1a; irate(v range-vector) 函数用于计算区间向量的增长率&#xff0c;但是其反应出的是瞬时增长率。 原理&#xff1a; irate 函数是通过区间向量中最后两个两本数据来计算区间向量的增长…

git查看用户名和密码

一、查看 查看用户名 &#xff1a;git config user.name 查看密码&#xff1a; git config user.password 查看邮箱&#xff1a;git config user.email 查看配置信息&#xff1a; $ git config --list 二、修改 修改用户名 git config --global user.name “xxxx(新的用户名)”…

Linux中git保存用户名密码

Linux下命令行使用git&#xff0c;每次操作都要输入用户名和密码很麻烦&#xff0c;可以通过配置保存用户名和密码。 进入到git项目的根目录下&#xff0c;打开.git目录下的config文件 cd .git vim config添加如下内容 [credential]helper store:wq保存退出 执行上述操作之…

git设置单个仓库用户名以及密码

有些时候我们的服务器可能要部署多个git仓库&#xff0c;不同git仓库的用户名以及密码都是不一样的&#xff0c;此时需要我们设置单个仓库的用户名以及密码。 1.git设置用户名以及邮箱 命令如下&#xff1a; git config user.name "userName" //你的用户名 …

git 修改用户名和密码

windows 在控制面板修改凭证就可以进行修改用户名密码。 Linux 执行vim ~/.git-credentials&#xff0c;可以看到被保存的账号密码&#xff0c;删掉、修改或新增都可以&#xff01; eg&#xff1a;http://账号:密码git仓库http地址或用https://账号:密码git仓库http地址 h…

mac下git设置用户名密码

设置用户名和邮箱 git config --global user.name [username] git config --global user.email [email] 查看用户名和邮箱 git config --global user.name git config --global user.email 查看配置文件 git config --list 编辑配置文件 vi .gitconfig sourcetree中的…