注:本文为 "MATLAB 绘图" 相关合辑。
图片清晰度受引文原图所限。
略作重排,未整理去重。
如有内容异常,请看原文。
MATLAB 绘图基础操作大全
小易吾 2023-06-08 10:50:50
本文讲解 MATLAB 基础绘图操作,包含颜色、线型、标记符号配置,散点图、折线图绘制,以及图例、标题、坐标轴、网格线、多图布局等功能实现。
一、颜色标识表
| 符号 | 颜色 |
|---|---|
r |
红色 |
g |
绿色 |
b |
蓝色 |
c |
青绿色 |
m |
粉红色 |
y |
黄色 |
k |
黑色 |
w |
白色 |
二、线条与标记符号
标记符号
| 符号 | 含义 |
|---|---|
+ |
加号 |
o |
空心圆 |
* |
星号 |
x |
叉号 |
d |
菱形 |
^ |
上三角形 |
p/pentagram |
五角星 |
h/hexagram |
六边形 |
s/square |
正方形 |
线型符号
| 符号 | 含义 |
|---|---|
- |
实线(默认) |
-- |
虚线 |
: |
点线 |
-. |
点划线 |
三、散点图绘制
仅使用标记、不配置线型,即可生成散点图:
matlab
x1 = [50 60 70 80 90 96];
y1_A = [1.0159 1.2227 1.2755 1.2845 1.4111 1.5173];
plot(x1,y1_A,'*');

四、折线图绘制
在线型标识后搭配标记符号,绘制带标记的折线图:
matlab
x1 = [50 60 70 80 90 96];
y1_A = [1.0159 1.2227 1.2755 1.2845 1.4111 1.5173];
plot(x1,y1_A,'-*');

五、图例、坐标轴、标题设置
1 图例
matlab
x1 = [50 60 70 80 90 96];
y1_A = [1.0159 1.2227 1.2755 1.2845 1.4111 1.5173];
y1_B = [1.7478 1.9648 2.1945 2.8580 3.0087 3.2728];
plot(x1,y1_A,'-*','color','b','MarkerSize',8);
hold on
plot(x1,y1_B,'-o','color','g','MarkerSize',8);
legendText = legend('图例 1','图例 2','FontSize', 10,'FontName','宋体');

2 坐标轴范围与刻度
matlab
set(gca,'XLim',[-50 50]); % 横轴显示范围
set(gca,'XTick',[-50:10:50]); % 横轴刻度间隔
set(gca,'YLim',[0 100]); % 纵轴显示范围
set(gca,'YTick',[0:10:100]); % 纵轴刻度间隔
3 图形标题
matlab
plot(x, y, 'r')
title('这是绘制的曲线');
4 坐标轴标签
matlab
xlabel('x 轴的名称');
ylabel('y 轴的名称');
axis([xmin xmax ymin ymax]); % 统一设置轴范围
六、网格线设置
- 显示主网格:
grid on
matlab
x = 1:10;
y = rand(1,10);
plot(x,y);
grid on;

- 显示主次网格:
grid on + grid minor
matlab
x = 1:10;
y = rand(1,10);
plot(x,y);
grid on
grid minor

- 隐藏网格:不添加网格指令 或 执行
grid off - 单向网格显示:
matlab
x = 1:10;
y = rand(1,10);
plot(x,y);
ax = gca;
ax.XGrid = 'off';
ax.YGrid = 'on';

七、同图多曲线与多图窗
1 同一坐标系绘制多条曲线
使用 hold on 叠加绘图:
matlab
x1 = 1:10;
y1 = rand(1,10);
x2 = 1:10;
y2 = rand(1,10);
plot(x1,y1);
hold on
plot(x2,y2);

2 新建独立图窗
使用 figure(n) 创建第 n n n 个图窗:
matlab
x1 = 1:10;
y1 = rand(1,10);
x2 = 1:10;
y2 = rand(1,10);
figure(1)
plot(x1,y1);
figure(2)
plot(x2,y2);
八、单图窗内多子图
使用 subplot(m,n,k) 划分布局:
matlab
x = [1 2 3 4 5];
y = rand(4,5);
subplot(2,2,1);
plot(x,y(1,:),'-o','color','b','MarkerSize',8);
xlabel("X 轴名称");
ylabel("Y 轴名称");
title('图片一');
grid on
subplot(2,2,2);
plot(x,y(2,:),'-o','color','r','MarkerSize',8);
grid on
subplot(2,2,3);
plot(x,y(3,:),'-o','color','b','MarkerSize',8);
grid on
subplot(2,2,4);
plot(x,y(4,:),'-o','color','r','MarkerSize',8);
grid on

总结
本文梳理 MATLAB 基础绘图要素,包含色彩、线型、标记的配置方式,以及散点图、折线图的绘制流程,同时介绍标题、图例、坐标轴、网格、多图布局等配套功能的实现方法。
MATLAB 常用绘图命令汇总
大四新生校园迷路 2025-05-24 17:32:25
本文梳理 MATLAB 内置绘图指令,包含二维散点图、折线图、参数圆、双纵轴图、热力图、Voronoi 图的实现案例,同时介绍坐标轴、图例、特殊字符、文本标注等配套设置方法。
(一)二维图像
1 散点图 scatter()
函数语法:
matlab
scatter(x,y,sz,c,mkr,filled)
参数说明:
sz:标记尺寸,支持标量或向量,默认取值 36 36 36c:标记配色mkr:标记样式,默认样式为圆形ofilled:开启标记内部填充MarkerEdgeColor:标记轮廓颜色MarkerFaceColor:标记填充颜色LineWidth:标记轮廓线宽度
【例 1.1.1】
matlab
x = linspace(0, 3*pi, 200); % 生成 [0, 3π] 区间内 200 个等间距采样点
y = cos(x) + rand(1, 200); % 生成叠加随机扰动的曲线数据
sz = linspace(1, 100, 200); % 散点尺寸由 1 线性变化至 100
c = linspace(1, 100, 200); % 散点颜色渐变参数
scatter(x,y,sz, ...
c, ...
'p', ... % 设置标记为五角星
'filled', ... % 填充标记
'LineWidth', 2); % 设置轮廓线宽度

2 折线图 plot()
基础语法 1
matlab
plot(X,Y)
参数规则:
- 若
X、Y为向量,二者长度需保持一致,绘制 Y Y Y 随 X X X 变化的曲线。 - 若
X、Y为矩阵,二者维度需保持一致,按列逐组绘制曲线。
基础语法 2
matlab
plot(X,Y,LineSpec)
LineSpec 为格式标识符,用于统一设置线型、标记、颜色,字符顺序无限制,可按需省略部分样式。
| 线型 | 标记 | 颜色 |
|---|---|---|
- 实线(默认) |
o 圆形 |
y 黄色 |
-- 虚线 |
+ 加号 |
m 品红色 |
: 点线 |
* 星号 |
c 青蓝色 |
-. 点划线 |
. 实心点 |
r 红色 |
x 叉号 |
g 绿色 |
|
_ 水平标记 |
b 蓝色 |
|
| ` | ` 垂直标记 | |
s/square 方形 |
k 黑色 |
|
d/diamond 菱形 |
||
^ 上三角 |
||
v 下三角 |
||
> 右三角 |
||
< 左三角 |
||
p/pentagram 五角形 |
||
h/hexagram 六角形 |
【例 1.2.1】
matlab
X = 1:5;
Y = X.^2;
plot(X,Y,'--*r');

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

基础语法 3
matlab
plot(X1,Y1,...,Xn,Yn)
在同一坐标系中绘制多组曲线,效果等价于搭配 hold on 指令逐次绘图。
【例 1.2.3】
matlab
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);

基础语法 4
matlab
plot(X1,Y1,LineSpec1,...,Xn,Yn,LineSpecn)
为每组曲线单独配置样式标识符。
基础语法 5
matlab
plot(Y)
- 若
Y为向量,横轴刻度范围为 1 ∼ length ( Y ) 1 \sim \text{length}(Y) 1∼length(Y)。 - 若
Y为矩阵,按列绘制曲线,横轴刻度范围为 1 ∼ 行数 1 \sim \text{行数} 1∼行数。 - 若
Y为复数,等价于执行plot(real(Y),imag(Y))。
基础语法 6
matlab
plot(___,Name,Value)
通过键值对配置曲线属性,常用参数如下:
LineWidth:线条宽度,默认取值 0.5 0.5 0.5MarkerIndices:指定显示标记的数据点下标,默认取值 1 : length ( Y ) 1:\text{length}(Y) 1:length(Y)MarkerEdgeColor:标记轮廓颜色,默认取值autoMarkerFaceColor:标记填充颜色,默认取值noneMarkerSize:标记尺寸,默认取值 6 6 6
【例 1.2.4】
需求:绿色虚线、线宽 2 2 2、标记尺寸 10 10 10、标记轮廓为蓝色、标记填充色 RGB 为 0.5 , 0.5 , 0.5 0.5,0.5,0.5 0.5,0.5,0.5,仅在第 1 , 5 , 10 1,5,10 1,5,10 个数据点显示标记。
matlab
x = -pi:pi/10:pi;
y = tan(sin(x)) - sin(tan(x));
plot(x,y,'--gs',...
'LineWidth',2, ...
'MarkerSize',10,...
'MarkerEdgeColor','b',...
'MarkerFaceColor',[0.5,0.5,0.5],...
'MarkerIndices',[1 5 10]);

3 其他二维图形
3.1 参数方程法绘制圆形
以 ( 4 , 3 ) (4,3) (4,3) 为圆心、 2 2 2 为半径绘制圆形,axis equal 指令可令横纵轴单位长度保持一致。
【例 1.3.1】
matlab
r = 2; % 圆半径
xc = 4; % 圆心横坐标
yc = 3; % 圆心纵坐标
theta = linspace(0,2*pi); % 参数 θ 取值区间
x = r*cos(theta) + xc; % 横坐标参数表达式
y = r*sin(theta) + yc; % 纵坐标参数表达式
plot(x,y)
axis equal
3.2 双纵轴图形
方法一:yyaxis
matlab
yyaxis left % 启用左侧纵轴
yyaxis right % 启用右侧纵轴
【例 1.3.3.1】
matlab
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('右侧坐标轴');

方法二:plotyy
该函数存在版本兼容性问题,官方不推荐使用,MATLAB R2018a 版本可正常运行。
3.3 直方图
内容待补充。(原文空缺)
3.4 热力图
下述代码封装为函数,可用于绘制相关系数矩阵热力图,输入变量名与方阵即可调用。
函数定义
matlab
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 轴数据升序排列
end
函数调用
matlab
% 定义坐标轴标签
string_name = {'y','x1','x2','x3','x4','x5','x6'};
% 计算变量相关系数矩阵
[rho,pval] = corr([y,x1,x2,x3,x4,x5,x6]);
figure;
Heatmap(string_name,rho);
补充说明:矩阵元素为 NaN 时,热力图对应区域默认显示黑色,可自行调整样式。colormap 支持 spring、summer、autumn、winter 等配色方案。
3.5 Voronoi 图
Voronoi 图由相邻数据点连线的垂直平分线构成多边形区域,函数语法:
matlab
voronoi(x,y)
其中 ( x , y ) (x,y) (x,y) 为离散点坐标。
【例 1.3.4.1】
matlab
rng default; % 设定随机数种子
x = rand([1 10]); % 生成 10 个随机横坐标
y = rand([1 10]); % 生成 10 个随机纵坐标
voronoi(x,y)
axis equal

4 绘图辅助操作
4.1 标题设置
matlab
title('主标题','副标题', 'Color','blue');
t.FontSize = 16; % 主标题字号
s.FontAngle = 'italic'; % 副标题字体样式
参数说明:副标题为可选项,字体颜色默认黑色。
4.2 坐标轴标签
matlab
xlabel('txt'); % 横轴标签
ylabel('txt'); % 纵轴标签
- 多行标签写法:
matlab
xlabel({'Population','(in thousands)'});
- 样式配置写法:
matlab
xlabel('Population','FontSize',12,'FontWeight','bold','Color','r');
- 数学符号与上下标:支持 LaTeX 语法,
_代表下标,^代表上标,多字符上下标需用{}包裹。
matlab
xlabel('-2\pi \leq x \leq 2\pi')
xlabel('t_{seconds}');
ylabel('e^t');
4.3 坐标轴范围
matlab
xlim([xmin xmax]);
ylim([ymin ymax]);
xmin/ymin:轴下限,取值inf/-inf时由程序自适应范围xmax/ymax:轴上限
参考文档:设置或查询 x 坐标轴范围 - MATLAB xlim、设置或查询 y 坐标轴范围 - MATLAB ylim
4.4 坐标轴刻度与标签
matlab
xticks([lab1 lab2 lab3 ...]); % 设置刻度位置
xticklabels({'labels1','labels2',...}); % 设置刻度文本
【例 1.6.1】
matlab
x = linspace(0,6*pi);
y = sin(x);
plot(x,y)
xlim([0 6*pi])
xticks(0:pi:6*pi)
xticklabels({'0','\pi','2\pi','3\pi','4\pi','5\pi','6\pi'});

【例 1.6.2】
matlab
x = linspace(0,2*pi,200);
y = sin(x);
plot(x,y);
xticks(0:pi:2*pi)
set(gca,'Xticklabel',['0';'1';'2']);

4.5 数据点文本标注
matlab
text(x,y,'txt','Color','red','FontSize',14)
参数: ( x , y ) (x,y) (x,y) 为标注位置坐标,txt 为标注内容。
4.6 图例
matlab
legend('leg1','leg2',...);
图例文本按绘图顺序与曲线一一对应。
4.7 特殊字符与字体(TeX/LaTeX 语法)
字体修饰符
| 修饰符 | 说明 | 示例 |
|---|---|---|
^{ } |
上标 | 'text^{superscript}' |
_{ } |
下标 | 'text_{subscript}' |
\bf |
粗体 | '\bf text' |
\it |
斜体 | '\it text' |
\sl |
伪斜体 | '\sl text' |
\rm |
常规字体 | '\rm text' |
\fontname{name} |
指定字体 | '\fontname{Courier} text' |
\fontsize{N} |
设置字号(单位:磅) | '\fontsize{15} text' |
\color{name} |
命名颜色 | '\color{magenta} text' |
\color[rgb]{r,g,b} |
自定义 RGB 颜色 | '\color[rgb]{0,0.5,0.5} text' |
希腊字母与数学符号
| 字符序列 | 符号 | 字符序列 | 符号 | 字符序列 | 符号 |
|---|---|---|---|---|---|
\alpha |
α \alpha α | \upsilon |
υ \upsilon υ | \sim |
∼ \sim ∼ |
\angle |
∠ \angle ∠ | \phi |
ϕ \phi ϕ | \leq |
≤ \leq ≤ |
\ast |
∗ \ast ∗ | \chi |
χ \chi χ | \infty |
∞ \infty ∞ |
\beta |
β \beta β | \psi |
ψ \psi ψ | \geq |
≥ \geq ≥ |
\gamma |
γ \gamma γ | \omega |
ω \omega ω | \pm |
± \pm ± |
\delta |
δ \delta δ | \Gamma |
Γ \Gamma Γ | \neq |
≠ \neq = |
\epsilon |
ϵ \epsilon ϵ | \Delta |
Δ \Delta Δ | \partial |
∂ \partial ∂ |
\zeta |
ζ \zeta ζ | \Theta |
Θ \Theta Θ | \int |
∫ \int ∫ |
\eta |
η \eta η | \Lambda |
Λ \Lambda Λ | \times |
× \times × |
\theta |
θ \theta θ | \Xi |
Ξ \Xi Ξ | \div |
÷ \div ÷ |
\pi |
π \pi π | \Sigma |
Σ \Sigma Σ | \nabla |
∇ \nabla ∇ |
使用 LaTeX 解析器时,行内公式用单美元符 $...$ 包裹,独立公式用双美元符 $$...$$ 包裹。
4.8 局部放大
可使用软件自带手动工具实现局部放大,操作后可直接保存图像,适用于少量图形处理。
4.9 基础视图指令
hold on:保留当前坐标系内已有图形,叠加新绘图内容grid on:显示坐标系主网格线;grid off:隐藏网格线
(二)三维图像
plot3:三维折线图,内容待补充surf:三维曲面图,内容待补充
附录:MATLAB 默认配色表
| RGB 三元组 | 十六进制代码 | 视觉描述 |
|---|---|---|
| 0 0.4470 0.7410 0\\ \\ 0.4470\\ \\ 0.7410 0 0.4470 0.7410 | #0072BD |
普蓝 |
| 0.8500 0.3250 0.0980 0.8500\\ \\ 0.3250\\ \\ 0.0980 0.8500 0.3250 0.0980 | #D95319 |
暗橘 |
| 0.9290 0.6940 0.1250 0.9290\\ \\ 0.6940\\ \\ 0.1250 0.9290 0.6940 0.1250 | #EDB120 |
中黄 |
| 0.4940 0.1840 0.5560 0.4940\\ \\ 0.1840\\ \\ 0.5560 0.4940 0.1840 0.5560 | #7E2F8E |
紫色 |
| 0.4660 0.6740 0.1880 0.4660\\ \\ 0.6740\\ \\ 0.1880 0.4660 0.6740 0.1880 | #77AC30 |
树绿 |
| 0.3010 0.7450 0.9330 0.3010\\ \\ 0.7450\\ \\ 0.9330 0.3010 0.7450 0.9330 | #4DBEEE |
浅天蓝 |
| 0.6350 0.0780 0.1840 0.6350\\ \\ 0.0780\\ \\ 0.1840 0.6350 0.0780 0.1840 | #A2142F |
苝褐 |
配色参考网站
MATLAB 绘图高效技巧大全:掌握 20 个方法
雷达科研 han 2024-04-02 09:42:26
MATLAB(Matrix Laboratory)是工程、数理领域常用科学计算工具,绘图模块可实现数据可视化。本文整理二十类绘图实用技巧,配套可运行代码示例,覆盖函数选用、样式自定义、多图布局、注释添加等功能。
1 引言
MATLAB 具备完善的数值计算与图形绘制能力。不同场景需匹配对应绘图函数,合理设置图形样式、标注元素可提升数据展示效果。下文从基础至进阶逐一介绍绘图方法与实现代码。
2 绘图函数选择
依据数据类型与展示目标选用函数,基础曲线绘制使用 plot。
matlab
% 绘制正弦曲线
x = linspace(0, 2*pi, 100);
y = sin(x);
plot(x, y);
title('Sine Wave');
xlabel('X');
ylabel('Y');

3 图形样式自定义
通过 LineStyle、Color、Marker 配置线条与标记样式。
matlab
x = linspace(0, 2*pi, 100);
y1 = sin(x);
y2 = cos(x);
plot(x, y1, 'r--o', 'LineWidth', 2);
hold on;
plot(x, y2, 'b-.s', 'LineWidth', 1.5);
legend('sin(x)', 'cos(x)');
参数说明:
LineStyle:包含实线、虚线、点线、点划线四类样式Color:支持命名字符、RGB 数值、十六进制代码Marker:定义数据点标记外形
4 多图合并显示
使用 subplot(m,n,p) 将单个图窗划分为 m m m 行 n n n 列子图阵列, p p p 为子图序号。
matlab
x = linspace(0, 2*pi, 100);
y1 = sin(x);
y2 = cos(x);
subplot(2, 1, 1);
plot(x, y1, 'r');
title('Sine Wave');
xlabel('X');
ylabel('Y');
subplot(2, 1, 2);
plot(x, y2, 'b');
title('Cosine Wave');
xlabel('X');
ylabel('Y');
拓展示例(2 行 2 列子图):
matlab
x = linspace(0, 2*pi, 100);
subplot(2, 2, 1); plot(x, sin(x)); title('Subplot 1: Sine Wave');
subplot(2, 2, 2); plot(x, cos(x)); title('Subplot 2: Cosine Wave');
subplot(2, 2, 3); plot(x, tan(x)); title('Subplot 3: Tangent Wave');
subplot(2, 2, 4); plot(x, x.^2); title('Subplot 4: Square Wave');

5 图例设置
legend 用于标注曲线含义,Location 参数控制图例位置,可选参数:north、south、east、west、northeast、southeast、northwest、southwest、best。

6 误差条形图
errorbar 绘制带误差范围的图形,适用于展示数据波动区间。
matlab
x = 1:5;
y = [1 2 3 4 5];
error = [0.1 0.2 0.1 0.3 0.2];
errorbar(x, y, error, 'o-');
xlabel('X');
ylabel('Y');
title('Error Bar Plot');

7 图形透明度设置
alpha 函数调整图形对象透明度,取值区间 0 , 1 0,1 0,1, 0 0 0 为完全透明, 1 1 1 为完全不透明。
matlab
x = linspace(0, 2*pi, 100);
y1 = sin(x);
y2 = cos(x);
plot(x, y1, 'r', 'LineWidth', 2);
hold on;
plot(x, y2, 'b', 'LineWidth', 2);
alpha(0.5);
legend('sin(x)', 'cos(x)');
8 极坐标图与坐标轴自定义
polarplot 实现极坐标绘图,搭配 xlim、ylim、xticks 完成坐标轴定制。
matlab
% 极坐标图
theta = linspace(0, 2*pi, 100);
rho = sin(2*theta);
polarplot(theta, rho);
title('Polar Plot');
% 直角坐标轴自定义
x = linspace(0, 2*pi, 100);
y = sin(x);
plot(x, y);
xlim([0, 2*pi]);
ylim([-1, 1]);
xticks([0, pi, 2*pi]);
xticklabels({'0', '\pi', '2\pi'});
xlabel('X');
ylabel('Y');

9 三维曲面图
surf 结合 meshgrid 生成三维曲面,展示空间数据分布。
matlab
[X,Y] = meshgrid(-2:.2:2, -2:.2:2);
Z = X .* exp(-X.^2 - Y.^2);
surf(X,Y,Z);
xlabel('X');
ylabel('Y');
zlabel('Z');
title('3D Surface Plot');

10 热力图
heatmap 将矩阵数值以色彩区分展示。
matlab
data = rand(5,5);
heatmap(data);
title('Heatmap');

11 柱状图
bar 绘制柱状图,用于类别数据对比。
matlab
x = 1:5;
y = [3 7 2 5 8];
bar(x, y);
title('Bar Chart');
xlabel('X');
ylabel('Y');

12 饼图
pie 展示数据占比关系。
matlab
sizes = [25, 35, 20, 20];
labels = {'A', 'B', 'C', 'D'};
pie(sizes, labels);
title('Pie Chart');

13 直方图
histogram 分析数据分布特征,支持多种归一化模式。
matlab
data = randn(1000, 1);
histogram(data, 'Normalization', 'pdf');
title('Histogram');
xlabel('Value');
ylabel('Probability Density');

14 文本与注释
text 添加文本标注,annotation 绘制箭头、图形等注释元素。
matlab
x = linspace(0, 2*pi, 100);
y = sin(x);
plot(x, y);
text(3, 0.5, 'Peak', 'FontSize', 12);
annotation('arrow', [0.2, 0.3], [0.6, 0.8]);
15 动态绘图
结合循环与 drawnow 刷新视图,实现动态图像效果。
matlab
x = linspace(0, 2*pi, 100);
for t = 1:length(x)
plot(x(1:t), sin(x(1:t)), 'r');
title('Dynamic Plot');
xlabel('X');
ylabel('Y');
drawnow;
end
16 多项式拟合曲线
polyfit 完成最小二乘多项式拟合,polyval 计算拟合函数数值。
matlab
x = linspace(0, 2*pi, 100);
y = sin(x) + randn(size(x))*0.1;
p = polyfit(x, y, 5);
y_fit = polyval(p, x);
plot(x, y, 'o', x, y_fit, 'r');
title('Polynomial Fitting');
xlabel('X');
ylabel('Y');
legend('Data', 'Fitted Curve');

17 等高线图
contour 绘制二维数据等值线。
matlab
[X,Y] = meshgrid(-2:.2:2, -2:.2:2);
Z = X.^2 + Y.^2;
contour(X,Y,Z);
xlabel('X');
ylabel('Y');
title('Contour Plot');

18 矢量场图
quiver 绘制二维矢量场,quiver3 绘制三维矢量场。
matlab
% 二维矢量场
x = [1, 2, 3, 4, 5];
y = [2, 4, 6, 8, 10];
u = [-1, 1, -2, 2, -3];
v = [2, -2, 4, -4, 6];
quiver(x, y, u, v, 'Color', 'r', 'LineWidth', 2);
19 散点图矩阵
scattermatrix 展示多组变量两两之间的关联关系。
matlab
data = randn(100, 3);
scattermatrix(data);
title('Scatter Matrix');
20 三维散点图
scatter3 实现三维离散点绘制。
matlab
x = randn(100,1);
y = randn(100,1);
z = randn(100,1);
scatter3(x, y, z, 'filled', 'MarkerFaceColor', 'r', 'SizeData', 100);
xlabel('X');
ylabel('Y');
zlabel('Z');
title('3D Scatter Plot');

21 图形保存
saveas 可将图窗保存为 PNG、JPEG、PDF 等格式,gcf 指代当前图窗句柄。
matlab
x = linspace(0, 2*pi, 100);
y = sin(x);
plot(x, y);
title('Sine Wave');
xlabel('X');
ylabel('Y');
saveas(gcf, 'sine_wave.png');
22 结束语
本文覆盖 MATLAB 主流绘图函数与配套设置方法,涵盖基础绘图、样式调整、布局设计、数据分析可视化等场景。合理运用相关指令可满足科研、工程中的数据展示需求。
MATLAB 绘图样式调整方法------线条、坐标轴、标题、图例
XTU__zhang 原创于 2021-04-29 21:29:54 发布
本文系统介绍 MATLAB 绘图完成后,线条、坐标轴、标题与图例的参数配置方式,涵盖线条色彩、线型、线宽、标记样式,坐标轴名称、字体、色彩,以及图例位置、色彩、字体等内容。结合代码实例说明各类参数的配置规则,提升图像展示效果与可读性。
一、基础对象说明
MATLAB 绘制的图像包含三类独立对象,可分别进行参数配置。
1. 图窗 Figure(gcf)
2. 曲线 Line
通过 plot 等绘图指令生成的线条对象。
3. 坐标轴 Axes(gca)
调用 plot 指令仅对曲线对象进行配置,图窗、坐标轴可单独设置。MATLAB 提供默认对象标识,图窗默认标识为 gcf ,坐标轴默认标识为 gca;曲线对象可在绘图时自定义变量名,示例代码如下:
matlab
>> x=[1 2 3 4 5];
>> y=x.^2;
>> p1=plot(x,y);
代码中 p1 为当前曲线对应的对象名称,后续可通过该名称修改曲线属性。
二、曲线样式配置:线型、色彩、标记
以 plot 指令为例,基础绘图代码如下:
matlab
>> x=[1 2 3 4 5];
>> y=x.^2;
>> plot(x,y);
运行效果:

plot 支持两类常用语法格式,可完成曲线样式配置:
matlab
plot(X1,Y1,LineSpec1,...,XN,YN,LineSpecN);
plot(___,Name1,Value1,...,NameN,ValueN);
2.1 线型标识字符串 LineSpec
LineSpec 为字符型参数,由线型 、颜色 、标记三类字符自由组合而成,字符顺序无固定要求。各类字符定义如下表:
| 线型字符 | 说明 |
|---|---|
- |
实线 |
-- |
虚线 |
-. |
点划线 |
: |
点线 |
| 颜色字符 | 说明 |
|---|---|
| k | 黑色 |
| b | 蓝色 |
| g | 绿色 |
| c | 青色 |
| m | 品红色 |
| r | 红色 |
| w | 白色 |
| y | 黄色 |
| 标记字符 | 说明 |
|---|---|
. |
点状标记 |
* |
星号标记 |
X |
叉号标记 |
O |
空心圆标记 |
+ |
加号标记 |
s |
方形标记 |
d |
菱形标记 |
p |
五角形标记 |
h |
六角形标记 |
^ |
上三角标记 |
v |
下三角标记 |
< |
左三角标记 |
> |
右三角标记 |
示例:将曲线设置为虚线、黑色、星号标记,代码如下:
matlab
>> plot(x,y,'--k*');
运行效果:

2.2 名称-值对组参数
该类参数可实现精细化样式配置,参数名称与对应取值成对使用。
2.2.1 线条颜色 Color
除预设颜色字符外,可通过颜色名称、RGB 三元组、十六进制色值自定义色彩。示例(设置为绿色):
matlab
>> plot(x,y,'Color','green');
>> plot(x,y,'Color',[0 1 0]);
>> plot(x,y,'Color','#00FF00');
运行效果:

自定义紫色曲线示例:
matlab
>> plot(x,y,'Color','#A500EB');
运行效果:

常用免费配色参考网站:
2.2.2 线型 LineStyle
配置规则与 LineSpec 线型字符一致,示例(设置为点划线):
matlab
>> plot(x,y,'LineStyle','-.');
2.2.3 线宽 LineWidth
单位为磅, 1 磅 = 1 / 72 英寸 1\ \text{磅} = 1/72\ \text{英寸} 1 磅=1/72 英寸,默认取值为 0.5 0.5 0.5。示例(设置线宽为 2 2 2 磅):
matlab
>> plot(x,y,'LineWidth',2);
运行效果:

2.2.4 标记样式 Marker
配置规则与 LineSpec 标记字符一致,示例(设置为加号标记):
matlab
>> plot(x,y,'Marker','+');
2.2.5 标记色彩
MarkerEdgeColor:标记轮廓颜色MarkerFaceColor:标记填充颜色
取值支持颜色名称、RGB 三元组、十六进制色值。
2.2.6 标记尺寸 MarkerSize
单位为磅,默认取值为 6 6 6。示例(设置加号标记尺寸为 12 12 12 磅):
matlab
>> plot(x,y,'Marker','+','MarkerSize',12);
运行效果:

2.2.7 标记点位 MarkerIndices
用于指定数据点标记的显示位置,取值为数据点下标构成的向量。基础绘图代码:
matlab
>> x=[0:0.01:3];
>> y=x.^2;
>> plot(x,y,'-d');
运行效果(标记密集重叠):

示例 1 :仅在第 1 1 1、 150 150 150、 301 301 301 个数据点显示标记
matlab
>> plot(x,y,'-d','MarkerIndices',[1 150 301]);
运行效果:

示例 2 :从首个数据点开始,每隔 50 50 50 个点显示一组标记
matlab
>> plot(x,y,'-d','MarkerIndices',1:50:length(y));
运行效果:

使用该参数时必须显式指定线型,否则仅显示标记、不绘制曲线。错误示例:
matlab
>> plot(x,y,'d','MarkerIndices',1:50:length(y));
运行效果:

三、曲线对象变量的应用
绘图时为曲线绑定变量名,可在绘图完成后二次修改样式,无需重复执行绘图指令。多条曲线绘图示例:
matlab
>> x=[1 2 3 4 5];
>> y1=x;
>> y2=2*x-1;
>> y3=3*x-2;
>> p=plot(x,y1,'-rO',x,y2,'-kX',x,y3,':b*');
运行效果:

变量 p \boldsymbol{p} p 为 3 × 1 3\times1 3×1 维度的曲线对象数组。修改第三条曲线线宽为 2 2 2 磅,提供两种实现方式:
3.1 数组索引写法
matlab
>> p(3).LineWidth=2;
3.2 set 指令写法
set(H,Name1,Value1,...,NameN,ValueN) 为图形对象通用属性设置指令, H H H 为目标对象。
matlab
>> set(p(3),'LineWidth',2);
两种方式运行效果一致:

四、坐标轴名称与样式配置
沿用基础绘图代码:
matlab
>> x=[1 2 3 4 5];
>> y=x.^2;
>> plot(x,y);
4.1 坐标轴名称设置
xlabel、ylabel、zlabel 分别用于设置 x x x、 y y y、 z z z 轴名称,完整语法:
matlab
xlabel(target,text,Name1,Value1,...,NameN,ValueN);
ylabel(target,text,Name1,Value1,...,NameN,ValueN);
target 为目标坐标轴对象,默认取值为 gca;text 为轴名称文本。
示例:设置 x x x 轴名称为 X-axis \text{X-axis} X-axis, y y y 轴名称为 y = x 2 y=x^2 y=x2
matlab
>> xlabel('X-axis');
>> ylabel('y=x^2');
运行效果:

多行文本设置示例:
matlab
>> xlabel({'X-','axis'});
运行效果:

MATLAB 轴名称、图例文本默认支持 TeX 语法:
- 文本斜体:
matlab
>> xlabel('{\it X-axis}');
- 希腊字母与数学符号:
matlab
>> xlabel('-2\pi \leq x \leq 2\pi');
复杂数学公式可启用 LaTeX 解析模式,配置 Interpreter 参数为 latex。
相关用法可参考文档:使用 LaTeX 表达 MATLAB 绘图中的常见公式
4.2 坐标轴样式配置
通过 set(gca, ...) 指令配置坐标轴全局样式。
4.2.1 字体尺寸 FontSize
单位为磅,示例(设置字体尺寸为 10 10 10 磅):
matlab
>> set(gca,'FontSize',10);
4.2.2 字体粗细 FontWeight
默认取值为 normal,加粗设置取值为 bold:
matlab
>> set(gca,'FontWeight','bold');
运行效果:

4.2.3 字体类型 FontName
示例(设置为 Times New Roman 字体):
matlab
>> set(gca,'FontName','Times');
4.2.4 文本颜色 Color
取值规则与线条颜色参数一致。
五、坐标轴刻度与显示范围配置
以函数 y = sin ( x ) , x ∈ 0 , 2 π y=\sin(x),\ x\in0,2\\pi y=sin(x), x∈0,2π 为例,基础绘图代码:
matlab
>> x=linspace(0,2*pi);
>> y=sin(x);
>> plot(x,y);
运行效果:

5.1 主刻度与刻度标签
xtick/ytick:设置坐标轴主刻度位置xticklabel/yticklabel:设置刻度对应的显示文本
示例 1:限定 x x x 轴刻度位置为 2 2 2、 6 6 6
matlab
>> set(gca,'xtick',[2 6]);
等效简写指令:
matlab
>> xticks([2 6]);
运行效果:

示例 2:修改刻度显示文本
matlab
>> set(gca,'xticklabel',{'x=2','x=6'});
等效简写指令:
matlab
>> xticklabels({'x=2','x=6'});
运行效果:

示例 3:使用圆周率标注 x x x 轴刻度
matlab
>> x=linspace(0,2*pi);
>> y=sin(x);
>> plot(x,y);
>> set(gca,'xtick',0:pi/2:2*pi);
>> set(gca,'xticklabel',{'0','\pi/2','\pi','3\pi/2','2\pi'});
运行效果:

5.2 次刻度 xminortick / yminortick
在相邻主刻度之间添加细分刻度,取值 on 为启用,off 为关闭。示例:
matlab
>> set(gca,'xminortick','on');
运行效果:

5.3 坐标轴显示范围 xlim / ylim
设置坐标轴的可视区间,示例(限定 x x x 轴范围为 π , 2 π \\pi,2\\pi π,2π):
matlab
>> set(gca,'xlim',[pi,2*pi]);
等效简写指令:
matlab
>> xlim([pi,2*pi]);
运行效果:

5.4 网格线 grid
grid on 启用网格线,grid off 关闭网格线:
matlab
>> grid on
运行效果:

5.5 坐标轴边框 box
box off 隐藏坐标轴右侧与上侧边框,box on 恢复边框:
matlab
>> box off
运行效果:

5.6 坐标轴整体可见性 axis
axis off 隐藏全部坐标轴与刻度,axis on 恢复显示:
matlab
>> axis off
运行效果:

5.7 对数坐标绘图
对数坐标可使用专用指令:loglog、semilogx、semilogy。指令用法可在 MATLAB 命令行窗口执行 help + 指令名 查询,相关汇总文档:MATLAB 的几种常用出图方式
六、图像标题设置
title 指令用于添加图像主标题与副标题,完整语法:
matlab
title(titletext,subtitletext,Name1,Value1,...,NameN,ValueN)
titletext 为主标题文本,subtitletext 为副标题文本;后续名称-值对组参数可配置字体尺寸、粗细、类型、颜色等样式。
七、图例配置
7.1 图例基础添加
legend 指令用于添加图例,完整语法:
matlab
legend(target,label1,...,labelN,Name1,Value1,...,NameN,ValueN)
target 为目标对象,label1 \dots labelN 为图例文本,文本顺序需与曲线绘制顺序保持一致。
沿用多条曲线绘图代码:
matlab
>> x=[1 2 3 4 5];
>> y1=x;
>> y2=2*x-1;
>> y3=3*x-2;
>> p=plot(x,y1,'-rO',x,y2,'-kX',x,y3,':b*');
添加图例并绑定对象变量:
matlab
>> lg1=legend('y=x','y=2x-1','y=3x-2');
运行效果:

7.2 图例样式配置
7.2.1 字体相关参数
包含 FontSize、FontName、FontWeight,配置规则与坐标轴字体参数一致。示例:
matlab
>> set(lg1,'FontSize',10,'FontName','Times','FontWeight','bold');
运行效果:

7.2.2 色彩参数
TextColor:图例文字颜色Color:图例外框填充颜色
示例(文字设为红色,外框设为黄色):
matlab
>> set(lg1,'TextColor','red','Color','yellow');
运行效果:

7.2.3 图例位置 Location
通过预设参数配置图例位置,分类如下:
| 取值 | 说明 |
|---|---|
| 坐标区域内部 | |
| north | 区域顶部 |
| south | 区域底部 |
| east | 区域右侧 |
| west | 区域左侧 |
| northeast | 区域右上角 |
| northwest | 区域左上角 |
| southeast | 区域右下角 |
| southwest | 区域左下角 |
| 坐标区域外部 | |
| northoutside | 区域外顶部 |
| southoutside | 区域外底部 |
| eastoutside | 区域外右侧 |
| westoutside | 区域外左侧 |
| northeastoutside | 区域外右上角 |
| northwestoutside | 区域外左上角 |
| southeastoutside | 区域外右下角 |
| southwestoutside | 区域外左下角 |
示例(放置于坐标区域左上角):
matlab
>> set(lg1,'Location','northwest');
运行效果:

7.2.4 自定义位置与尺寸 Position
取值为四元素归一化向量 [left, bottom, width, height],数值范围 0 , 1 0,1 0,1,以图窗为参照基准。示例:
matlab
>> set(lg1,'Position',[0.2,0.7,0.2,0.2]);
运行效果:

7.2.5 排列方向 Orientation
vertical:垂直排列(默认)horizontal:水平排列
示例(左上角水平排列):
matlab
>> set(lg1,'Location','northwest','Orientation','horizontal');
运行效果:

7.2.6 图例外框可见性
legend('boxoff') 隐藏外框,legend('boxon') 显示外框:
matlab
>> legend('boxoff');
运行效果:

7.2.7 图例整体可见性
legend('hide') 隐藏图例,legend('show') 显示图例:
matlab
>> legend('hide');
运行效果:

MATLAB:添加图标题、轴标签、图例、更改字体大小
孙悟空 原创于 2021-08-15 14:20:29 发布
1 添加标题
title 指令用于为图像添加标题。
matlab
clc;
clear;
% 绘图
x = linspace(0,2*pi);
y = sin(x) - tan(sin(x));
plot(x,y)
title('y = sin(x)-tan(sin(x))')
运行效果:

2 添加轴标签
xlabel:配置 x x x 轴标签ylabel:配置 y y y 轴标签zlabel:配置 z z z 轴标签(三维绘图plot3使用)
示例代码:
matlab
clc;
clear;
% 绘图
x = linspace(0,2*pi);
y = sin(x)-tan(sin(x));
plot(x,y)
title('y = sin(x) - tan(sin(x))')
xlabel('X(m)')
ylabel('Y(m)')
运行效果:

3 添加图例
legend 按照曲线绘制顺序添加图例文本。
matlab
clc;
clear;
% 绘图
x = linspace(0,2*pi);
y = sin(x)-tan(cos(x));
plot(x,sin(x))
hold on
plot(x,cos(x))
hold on
plot(x,tan(cos(x)))
hold on
plot(x,y)
hold off
title(' 添加图例 ')
xlabel('X(m)')
ylabel('Y(m)')
legend('y = sin(x)','y = cos(x)','y = tan(cos(x))','y = sin(x) - tan(cos(x))')
运行效果:

4 字体尺寸修改
通过 FontSize 参数设置标题、轴标签、图例的字体尺寸。
matlab
clc;
clear;
% 绘图
x = linspace(0,2*pi);
y = sin(x)-tan(cos(x));
plot(x,sin(x))
hold on
plot(x,cos(x))
hold on
plot(x,tan(cos(x)))
hold on
plot(x,y)
hold off
title(' 添加图例 ','FontSize',20)
xlabel('X/(m)','FontSize',15)
ylabel('Y/(m)','FontSize',10)
legend('y = sin(x)','y = cos(x)','y = tan(cos(x))','y = sin(x) - tan(cos(x))')
运行效果:

相关链接
https://ww2.mathworks.cn/help/matlab/creating_plots/add-title-axis-labels-and-legend-to-graph.html
MATLAB 的几种常用出图方式
XTU__zhang 原创于 2021-04-26 18:04:37 发布
本文结合 MATLAB 绘图、图像读取场景,梳理界面保存、导出配置、常用代码指令及第三方工具包四类图像导出方式,并介绍图像灰边去除方法,优化输出效果,内容可供查阅参考。
一、图片来源:MATLAB 绘图或者读取文件
1. 绘图
本节分类罗列 MATLAB 常用绘图函数,可根据绘图需求选用,具体实现流程不展开说明。
| 绘图需求 | 使用函数 |
|---|---|
| 二维坐标系绘图 | --- |
| 笛卡尔直角坐标系曲线绘制 | plot() |
| x x x 轴、 y y y 轴均为对数坐标绘图 | loglog() |
| x x x 轴为对数坐标、 y y y 轴为线性坐标绘图 | semilogx() |
| y y y 轴为对数坐标、 x x x 轴为线性坐标绘图 | semilogy() |
| 双 y y y 轴线性坐标系绘图 | plotyy() |
| 极坐标系绘图 | polar() |
| 三维坐标系绘图 | 前置操作:通过 meshgrid() 生成二维网格 |
| 空间曲线绘制 | plot3() |
| 填充网格型三维曲面绘制 | surf() |
| 无填充网格型三维曲面绘制 | mesh() |
| 填充网格型三维图形等高线绘制 | contourf() |
| 无填充网格型三维图形等高线绘制 | contour() |
| 填充网格型三维曲面与等高线组合绘制 | surfc() |
| 无填充网格型三维曲面与等高线组合绘制 | meshc() |
| 三维形体绘制 | patch() |
| 统计类图形绘制 | --- |
| 直方图绘制(Histogram) | hist() |
| 二维柱状图绘制(Bar charts) | bar() |
| 三维柱状图绘制 | bar3() |
| 堆叠条形图绘制(Stacked bar charts) | bar(y,'stacked') |
| 水平条形图绘制(Horizontal bar charts) | barh() |
| 饼图绘制(Pie charts) | pie() |
| 三维饼图绘制 | pie3() |
| 阶梯图绘制(Stairs charts) | stairs() |
| 针状图绘制(Stem charts) | stem() |
2. 读取图片
执行图像读取操作前,需保证目标文件处于 MATLAB 可访问路径内;若路径未配置,需手动添加文件路径。

下文以图像文件 Peppa_pig.jpg 为例演示读取流程。

调用 imread() 函数完成图像读取,代码示例如下:
matlab
I=imread('Peppa_pig.jpg'); % 读取图像文件,结果赋值至变量 I
文件读取完成后,界面输出如下:

完成读取后,可调用 imshow() 函数展示图像,代码示例如下:
matlab
imshow(I); % 展示图像
图像展示效果如下:

二、出图
1. 直接出图
若对输出图像无特殊格式要求,可通过界面路径 文件→另存为 完成图像存储。

该方式会完整保存图形窗口全部区域,包含窗口边缘的灰色底色区域。

对应输出文件效果如下:

原图像不存在的灰色边界区域会同步保存至输出文件。MATLAB 生成的各类坐标图形,采用该方式保存时,同样会保留灰色边界区域。

2. 使用导出设置出图
针对 MATLAB 生成的坐标类图形,可通过界面路径 文件→导出设置 执行导出操作。

如需去除图像四周灰色边界,可在导出设置的大小 选项栏中,勾选放大坐标区至充满图窗选项。

图像分辨率可在渲染 选项栏配置,例如设置分辨率为 600 dpi 600\ \text{dpi} 600 dpi。

文本字体与字号参数,可在字体选项栏进行自定义配置。

参数配置完成后,点击界面右侧应用于图窗,可实时预览调整效果。

配置生效后,图形窗口的灰色边界区域消失,点击导出即可选择目标文件格式完成输出。

该配置方案仅对 MATLAB 原生坐标图形生效;若导出外部读取的图像文件,灰色边界区域仍会被保留。

3. 使用代码出图
针对外部读取的图像文件,可通过代码指令去除边界区域,以下为各类代码实现方案。
3.1 使用 imshow() 设置参数,调试后出图
对 imshow() 函数配置对应参数,可令图像自适应填充图形窗口,代码示例如下:
matlab
imshow(I,'border','tight','initialmagnification','fit'); % 配置参数使图像自适应填充图窗
该指令会将图像缩放至单条边与图形窗口边界重合,实现全屏展示。

完成参数配置后,可通过鼠标拖动调整图形窗口尺寸至合适状态,再结合前文界面导出方式完成保存。

该方法支持可视化调整图像展示尺寸,若要求保留图像原始像素尺寸,可选用下述代码方案。
3.2 使用 imwrite() 命令出图
函数语法格式:imwrite(A,[map,filename])。
式中, A A A 代表图像数据矩阵, map \text{map} map 为存储路径, filename \text{filename} filename 为带后缀的完整文件名。
示例:将图像以 tiff \text{tiff} tiff 格式保存至 D 盘目录,代码如下:
matlab
imwrite(I,['D:\','Peppa_pig.tif']); % 将图像保存为 tiff 格式
输出文件保留图像原始尺寸,效果如下:

imwrite() 函数不支持 eps \text{eps} eps 格式输出,如需生成该格式文件,需更换其他指令。

3.3 使用 saveas() 命令出图
函数语法格式:saveas(fig,filename,formattype)。
式中, fig \text{fig} fig 为目标图形窗口句柄, filename \text{filename} filename 为无后缀文件名, formattype \text{formattype} formattype 为文件格式标识。
示例:将图像保存为 epsc2 \text{epsc2} epsc2 彩色 EPS 格式,代码如下:
matlab
imshow(I); % 展示图像,生成对应图窗
h=figure(1); % 定义变量 h 为 1 号图窗句柄
saveas(h,'Peppa_pig','epsc2'); % 以 EPS 格式保存图窗内容
文件默认存储至 MATLAB 当前工作目录,可手动移动至其他路径。

该方式输出的文件同样保留图像原始尺寸。
3.4 使用 print() 命令出图
函数基础语法格式:print(filename,formattype,formatoptions)。
其中 formatoptions \text{formatoptions} formatoptions 为可选配置项,简写格式为 print(filename,formattype)。
示例:将图像保存为 eps \text{eps} eps 格式,代码如下:
matlab
print('Peppa_pig','-depsc'); % 将图像保存为 eps 格式
输出文件默认存放于 MATLAB 当前工作目录,可手动迁移路径。
4. 使用工具包出图
第三方工具包中,export_fig 具备良好的图像导出能力,该工具包的具体使用方法可查阅对应技术文档,本文不做详细说明。
MATLAB 多条曲线指定部分曲线添加图例
一只佳佳怪 原创,2023-08-13 21:46:30 修改
1 绘制多条曲线
matlab
x = 0:pi/100:2*pi;
y1 = sin(x);
y2 = sin(x-0.25);
y3 = sin(x-0.5);
y4 = sin(x-0.75);
y5 = sin(x-1);
y6 = sin(x-1.25);
y7 = sin(x-1.5);
y8 = sin(x-1.75);
figure
plot(x,y1,'y');hold on;
plot(x,y2,'m');hold on;
plot(x,y3,'c');hold on;
plot(x,y4,'r');hold on;
plot(x,y5,'g');hold on;
plot(x,y6,'b');hold on;
plot(x,y7,'k');hold on;
plot(x,y8,'k');hold on;
运行效果:

2 为指定曲线添加图例
为目标曲线绑定对象变量,在 legend 中引用变量完成配置:
matlab
x = 0:pi/100:2*pi;
y1 = sin(x);
y2 = sin(x-0.25);
y3 = sin(x-0.5);
y4 = sin(x-0.75);
y5 = sin(x-1);
y6 = sin(x-1.25);
y7 = sin(x-1.5);
y8 = sin(x-1.75);
figure
plot(x,y1,'y');hold on;
plot(x,y2,'m');hold on;
h1=plot(x,y3,'c');hold on;
plot(x,y4,'r');hold on;
h2=plot(x,y5,'g');hold on;
plot(x,y6,'b');hold on;
h3=plot(x,y7,'k');hold on;
plot(x,y8,'k');hold on;
legend([h1,h2,h3],' 曲线 1',' 曲线 2',' 曲线 3')
运行效果:

MATLAB 综合样式配置:字体、线型、符号、文本格式
蟹堡王金牌厨师 原创,2023-07-05 17:13:51 修改
一、坐标轴标签样式配置
1. 字体尺寸、粗细、类型、颜色
matlab
xlabel(' 标题 ','FontSize',14,'FontWeight','bold','FontName','Times New Roman','Color','r');
2. 文本旋转
matlab
xlabel(' 标题 ','rotation',22);
ylabel(' 标题 ','rotation',-35);
3. 线型、颜色、标记字符汇总
| 颜色字符 | 说明 | 线型字符 | 说明 | 标记字符 | 说明 |
|---|---|---|---|---|---|
| b | 蓝色 | - |
实线 | . |
点状 |
| g | 绿色 | : |
点线 | s |
方形 |
| r | 红色 | -. |
点划线 | o |
空心圆 |
| c | 青色 | -- |
虚线 | x |
叉号 |
| m | 品红 | --- | --- | + |
加号 |
| y | 黄色 | --- | --- | * |
星号 |
| k | 黑色 | --- | --- | d |
菱形 |
| w | 白色 | --- | --- | v |
下三角 |
| --- | --- | --- | --- | ^ |
上三角 |
| --- | --- | --- | --- | < |
左三角 |
| --- | --- | --- | --- | > |
右三角 |
| --- | --- | --- | --- | p |
五角形 |
| --- | --- | --- | --- | h |
六角形 |
基础用法示例:
matlab
plot(x,y,'--r')
4. 标记样式明细与进阶用法
| 标记参数 | 说明 |
|---|---|
"o" |
空心圆 |
"+" |
加号 |
"*" |
星号 |
"." |
实心点 |
"x" |
叉号 |
"_" |
水平线段 |
| `" | "` |
"square" |
方形 |
"diamond" |
菱形 |
"^" |
上三角 |
"v" |
下三角 |
">" |
右三角 |
"<" |
左三角 |
"pentagram" |
五角形 |
"hexagram" |
六角形 |
"none" |
无标记 |
进阶代码示例:
matlab
% 带连线的标记曲线
x = linspace(0,10,100);
y = exp(x/10).*sin(4*x);
plot(x,y,'-o')
% 仅显示标记
plot(x,y,'o')
% 自定义标记色彩与尺寸
x = linspace(0,10,50);
y = sin(x);
plot(x,y,'-s','MarkerSize',10,...
'MarkerEdgeColor','red',...
'MarkerFaceColor',[1 .6 .6])
% 间隔显示标记
plot(x,y,'-*','MarkerIndices',1:10:length(y))
% 极值点标记
x = 1:100;
y = rand(100,1);
idxmin = find(y == max(y));
idxmax = find(y == min(y));
plot(x,y,'-p','MarkerIndices',[idxmin idxmax],...
'MarkerFaceColor','red',...
'MarkerSize',15)
% 通过对象变量修改标记
x = linspace(0,10,25);
y = x.^2;
p = plot(x,y,'-s');
p.MarkerSize = 10;
p.MarkerIndices = 1:5:length(y);
二、线条样式配置
- 基础线宽与颜色设置
matlab
plot(X,Y,'g','Linewidth', 1.2)
- RGB 三元组自定义颜色
matlab
plot(x,y,'color',[1 0.2 0]);
三、坐标轴刻度与范围配置
- 隐藏刻度文本
matlab
set(gca,'xticklabel',[]);
set(gca,'yticklabel',[]);
- 刻度字体配置
matlab
set(gca,'FontSize',12,'Fontname', 'Times New Roman');
- 限定坐标轴范围
matlab
axis([5 12 0 5])
四、希腊字母与数学符号
- 上标:使用
^ - 下标:使用
_ - 希腊字母与特殊符号:反斜杠
\+ 字符名称
常用符号:
- ≤ \leq ≤:
\leq - ≥ \geq ≥:
\geq - ≪ \ll ≪:
\ll - ≫ \gg ≫:
\gg
五、图像文本添加与位置控制
1. 基础文本添加
matlab
text(3.3,-1.8,' 文本 ','Color','black','FontSize',14,'FontName','Times New Roman','FontWeight','Bold');
2. 依托坐标轴范围定位文本
matlab
a=axis;
变量 a \boldsymbol{a} a 存储坐标轴区间 x min , x max , y min , y max x_{\\text{min}},x_{\\text{max}},y_{\\text{min}},y_{\\text{max}} xmin,xmax,ymin,ymax,根据区间数值确定文本坐标。
3. 归一化位置定位
通过 Position 参数以图窗为基准设置文本、图例等元素位置。
六、颜色参考表

reference 与概要
第 1 篇(绘图基础入门)
-
MATLAB 绘图必看,画图大全!MATLAB 绘图基础操作大全---折线图、散点图、颜色样式、线条粗细汇总
https://blog.csdn.net/qq_45296693/article/details/130814610
面向零基础使用者,讲解 MATLAB 最核心的入门绘图操作。内容包含图形基础配色、线型、标记符号的使用规则,演示折线图、散点图的标准绘制流程;同时介绍网格开关、单坐标区多曲线绘制、
subplot多子图布局,以及坐标轴、图例的基础调用方式,是入门学习的基础资料。
第 2 篇(通用绘图命令汇总)
-
MATLAB 常用画图命令汇总
https://blog.csdn.net/User525600/article/details/122910445
系统性整理 MATLAB 主流绘图指令,覆盖二维散点图、折线图、参数圆、双纵轴图、热力图、Voronoi 图等常见图形。同时配套讲解坐标轴配置、图表标题、文本标注、LaTeX 希腊字母与特殊字符写法,汇总二维场景下全流程辅助命令,适配各类常规绘图需求。
第 3 篇(高阶绘图技巧)
-
Matlab 绘图高效技巧大全:掌握 20 个方法
https://blog.csdn.net/weixin_51532466/article/details/137237383
整理 20 类实用进阶绘图方法,拓展绘图应用场景。除常规图形外,重点讲解误差棒图、极坐标图、三维曲面、饼图、直方图、矢量场、三维散点图等类型;同时介绍动态绘图、多项式拟合、图形透明度设置、图形保存等功能,可满足复杂数据可视化需求。
第 4 篇(图形样式精细化调整)
-
Matlab 作图后的各种调整方法------线条、坐标、标题、图例
https://blog.csdn.net/XTU__zhang/article/details/116270944
聚焦绘图后的优化工作,引入
gcf、gca两大图形对象。详细讲解线条、坐标轴、标题、图例、网格与边框的全套参数配置方法,可对已生成图表进行精细化美化。
第 5 篇(图表标注基础:标题、轴标签、图例)
-
MATLAB:添加图标题、轴标签、图例、更改字体大小
https://blog.csdn.net/weixin_46098577/article/details/119705191
讲解图表基础标注功能,演示
title、xlabel、ylabel、legend函数的基础用法,同时介绍字体大小的修改方式,是图表标注功能的入门参考。
第 6 篇(MATLAB 图像导出)
-
MATLAB 的几种常用出图方式
https://blog.csdn.net/XTU__zhang/article/details/116163268
全面介绍 MATLAB 各类图像导出方案,包含界面手动保存、导出设置、代码导出、第三方工具包导出四大类;重点讲解去除图窗灰色边界的实操方法,兼顾不同格式、不同使用场景下的出图需求。
第 7 篇(图例高阶用法)
-
Matlab 多条曲线标注某几条曲线的图例 (legend 函数)
https://blog.csdn.net/iii66yy/article/details/127097167
针对多曲线图表场景,补充
legend函数进阶用法。介绍仅为部分曲线添加图例的实现方式,弥补基础用法的局限,适用于多序列数据可视化场景。
第 8 篇(字体、特殊符号、文本美化)
- MATLAB 修改字体大小,加粗,字体样式,字体颜色,线形,希腊字母,特殊符号,图片文本位置及字体设置等
https://blog.csdn.net/weixin_48033204/article/details/131414173
讲解字体样式、字号、颜色、坐标轴旋转、刻度自定义等操作;希腊字母、数学运算符、上下标等特殊字符写法,同时介绍文本定位方法,并附带 RGB、十六进制全套配色表,用于专业图表细节美化。