当前位置:   article > 正文

Matlab绘图系列教程-Matlab 34 种绘图函数示例(上)_matlab画图

matlab画图

Matlab绘图系列教程:揭秘高质量科学图表的绘制与优化

第一部分:入门指南

1.1 简介

关于本教程的目的与范围

欢迎来到Matlab绘图指南!本教程的目标是帮助您从一个绘图小白蜕变为Matlab绘图大神。无论您是科学研究人员、学生还是对数据可视化感兴趣的爱好者,本教程将为您揭示绘制高质量科学图表的技巧和策略,让您的图表在论文和报告中脱颖而出。

Matlab绘图在科学研究中的重要性

您可能会问,为什么要选择Matlab作为绘图工具呢?好问题!Matlab绘图功能强大而灵活,被广泛应用于科学研究领域。通过精心绘制的图表,您可以更好地展示数据和结果,让您的研究更具说服力和影响力。因此,掌握Matlab绘图技巧将成为您在科研道路上的得力助手。

1.2 准备工作

安装Matlab及其工具箱

在踏上绘图之旅之前,我们首先要确保您已成功安装Matlab及其必要的工具箱。如果您还没有安装Matlab,别担心!MathWorks官方网站将为您提供下载和安装指南。

1.3 Matlab 34 种绘图函数示例(上)

Matlab是一种功能强大的科学计算软件和编程语言,它在数据可视化方面有着出色的表现。Matlab提供了各种绘图函数和工具,使用户能够创建高质量的二维和三维图形,并进行各种定制和交互操作。

plot函数:绘制二维折线图
% 创建数据
x = 0:pi/10:2*pi;
y = sin(x);

% 绘制线图
plot(x, y, 'b--o', 'LineWidth', 2);

% 添加标题和标签
title('Sin Function');
xlabel('X');
ylabel('Y');

% 添加网格
grid on;

% 添加图例
legend('sin(x)');
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

在这里插入图片描述

scatter函数:绘制散点图
% 创建数据
x = randn(100, 1);
y = randn(100, 1);
sizes = 30 + 100 * rand(1, 100);
colors = rand(1, 100);

% 绘制散点图
scatter(x, y, sizes, colors, 'filled');

% 添加标题和标签
title('Scatter Plot');
xlabel('X');
ylabel('Y');

% 添加网格
grid on;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

在这里插入图片描述

bar函数:绘制柱状图
% 创建数据
x = 1:5;
y = [3 7 2 5 9];

% 绘制柱状图
bar(x, y);

% 添加标题和标签
title('Bar Chart');
xlabel('Category');
ylabel('Value');

% 添加刻度标签
xticks(x);
xticklabels({'A', 'B', 'C', 'D', 'E'});

% 添加网格
grid on;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

p3

pie函数:绘制饼图
% 创建数据
data = [30 15 25 10];

% 绘制饼图
pie(data);

% 添加标题和图例
title('Pie Chart');
legend('A', 'B', 'C', 'D');
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

p4

histogram函数:绘制直方图
% 创建数据
data = randn(1000, 1);

% 绘制直方图
histogram(data, 'BinWidth', 0.5, 'Normalization', 'probability');

% 添加标题和标签
title('Histogram');
xlabel('Value');
ylabel('Probability');

% 添加网格
grid on;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

p5

contour函数:绘制等高线图
% 创建数据
x = -2:0.1:2;
y = -2:0.1:2;
[X, Y] = meshgrid(x, y);
Z = X.^2 + Y.^2;

% 绘制等高线图
contour(X, Y, Z);

% 添加标题和标签
title('Contour Plot');
xlabel('X');
ylabel('Y');

% 添加颜色栏
colorbar;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

p6

quiver函数:绘制矢量场图
% 创建数据
x = -2:0.2:2;
y = -2:0.2:2;
[X, Y] = meshgrid(x, y);
U = -Y;
V = X;

% 绘制矢量场图
quiver(X, Y, U, V);

% 添加标题和标签
title('Quiver Plot');
xlabel('X');
ylabel('Y');

% 设置坐标轴范围
axis([-2.5 2.5 -2.5 2.5]);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

p7

surf函数:绘制三维曲面图
% 创建数据
x = -2:0.2:2;
y = -2:0.2:2;
[X, Y] = meshgrid(x, y);
Z = X.^2 + Y.^2;

% 绘制三维曲面图
surf(X, Y, Z);

% 添加标题和标签
title('Surface Plot');
xlabel('X');
ylabel('Y');
zlabel('Z');

% 添加颜色栏
colorbar;

% 设置视角
view(45, 30);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

p8

imagesc函数:绘制热图
% 创建数据
data = peaks(100);

% 绘制热图
imagesc(data);

% 添加标题和颜色栏
title('Heatmap');
colorbar;

% 调整坐标轴
axis image;

% 添加刻度标签
xticks(0:20:100);
yticks(0:20:100);

% 添加刻度标签标签
xticklabels({'0', '1', '2', '3', '4', '5'});
yticklabels({'0', '1', '2', '3', '4', '5'});
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

p9

errorbar函数:绘制带有误差条的折线图
% 创建数据
x = 1:5;
y = [3 7 2 5 9];
y_error = [0.5 1 0.8 0.3 1.2];

% 绘制带有误差条的折线图
errorbar(x, y, y_error, 'o-', 'LineWidth', 2, 'MarkerSize', 8);

% 添加标题和标签
title('Errorbar Plot');
xlabel('Category');
ylabel('Value');

% 添加刻度标签
xticks(x);
xticklabels({'A', 'B', 'C', 'D', 'E'});

% 添加网格
grid on;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

p10

area函数:绘制填充区域图
% 创建数据
x = 0:0.1:2*pi;
y1 = sin(x);
y2 = cos(x);

% 绘制填充区域图
area(x, [y1; y2]', 'LineWidth', 1.5);

% 添加标题和标签
title('Area Plot');
xlabel('X');
ylabel('Y');

% 添加图例
legend('sin(x)', 'cos(x)');

% 添加网格
grid on;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

p11

stem函数:绘制离散信号图
% 创建数据
x = 0:0.1:2*pi;
y = sin(x);

% 绘制离散信号图
stem(x, y, 'filled', 'LineWidth', 1.5, 'MarkerSize', 8);

% 添加标题和标签
title('Discrete Signal Plot');
xlabel('X');
ylabel('Y');

% 添加网格
grid on;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

p12

polarplot函数:绘制极坐标图
% 创建数据
theta = linspace(0, 2*pi, 100);
rho = abs(sin(2*theta));

% 绘制极坐标图
polarplot(theta, rho, 'LineWidth', 2);

% 添加标题
title('Polar Plot');
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

p13

loglog函数:绘制双对数坐标图
% 创建数据
x = logspace(0, 3, 100);
y = 1./(x.^2);

% 绘制双对数坐标图
loglog(x, y, 'r-', 'LineWidth', 2);

% 添加标题和标签
title('Log-Log Plot');
xlabel('X');
ylabel('Y');
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

p14

contourf函数:绘制填充等高线图
% 创建数据
x = -2:0.1:2;
y = -2:0.1:2;
[X, Y] = meshgrid(x, y);
Z = X.^2 + Y.^2;

% 绘制填充等高线图
contourf(X, Y, Z);

% 添加标题和标签
title('Filled Contour Plot');
xlabel('X');
ylabel('Y');

% 添加颜色栏
colorbar;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

p15

waterfall函数:绘制瀑布图
% 创建数据
x = -5:0.5:5;
y = -5:0.5:5;
[X, Y] = meshgrid(x, y);
Z = peaks(length(x));

% 绘制瀑布图
waterfall(X, Y, Z);

% 添加标题和标签
title('Waterfall Plot');
xlabel('X');
ylabel('Y');
zlabel('Z');

% 设置视角
view(-30, 30);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

p16

rose函数:绘制玫瑰图
% 创建数据
theta = 0:0.1:2*pi;
data = abs(sin(3*theta));

% 绘制极坐标玫瑰图
rose(theta, data);

% 添加标题
title('Rose Plot');
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

p17

stem3函数:绘制三维离散信号图
% 创建数据
t = 0:0.1:10;
x = sin(t);
y = cos(t);
z = t;

% 绘制三维离散信号图
stem3(x, y, z, 'filled', 'LineWidth', 1.5, 'MarkerSize', 8);

% 添加标题和标签
title('3D Discrete Signal Plot');
xlabel('X');
ylabel('Y');
zlabel('Z');

% 添加网格
grid on;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

p18

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/561618
推荐阅读
相关标签
  

闽ICP备14008679号