MATLAB基本绘图操作(二维和三维绘图)

MATLAB基本绘图操作

文章目录

1、二维平面绘图

1.1、线条(折线图)
matlab 复制代码
x=0:0.01:2*pi;   %从09开始,每次递增0.01,一直到2*pi结束
y = sin(x) ;
figure  %建立一个幕布
plot(x, y)  %绘制二维的平面图  %若(x,y ,'Linewidth',2)可变粗,后面的数字参数用来调整线条的粗细
%plot(x, y1,x,y2) %设置两个图在同一块幕布下
title('y = sin(x)')  %标题
xlabe1('x')   %x轴的标签
ylabe1('sin(x)')  %y轴的标签
xlim([0 2*pi])    %将绘图的x轴限制设置为介于0和2*pi之间
grid on  %添加网格
axis([0 20 -1.5 1.5])   %用来设置横纵坐标的范围,x:0~20  y:-1.5~1.5
  • 执行结果:
  • 设置颜色,线条风格等:
matlab 复制代码
x = 0:0.01:20;
y1 = 200*exp (-0.05*x).*sin(x);
y2 = 0.8*exp (-0.5*x).*sin(10*x);
figure
[AX, H1, H2] = plotyy(x, y1,x, y2, 'plot'); %plotyy是公用一个坐标系,并在y上面有不同的取值,两条线
set(get(AX(1),'Ylabel'), 'String', 'Slow Decay')
set(get(AX(2),'Ylabel'), 'String','Fast Decay')
xlabel('Time (\musec)')
title(' Multiple Decay Rates')
set (H1, 'LineStyle','--')  %设置H1线的风格设置为虚线
set (H2, 'LineStyle',':')   %冒号线,更多样式请参考下面的表

运行结果:

1.2、条形图

bar函数创建垂直条形图

barh函数用来创建水平条形图

matlab 复制代码
t = -3:0.5:3 %范围是-3~3,步长为0.5(可以理解为条形的宽度)
p = exp(-t.*t)  %见注释①
subplot(2,1,1)  %分割幕布,取第一块
bar(t,p)  %竖轴条形图
subplot(2,1,2)  %分割幕布,取第二块
barh(t,p) %横轴条形图

注释①:

1.3、极坐标图

polarplot 函数用来绘制极坐标图

matlab 复制代码
theta = 0:0.01:2*pi   %pi就是圆周率π
radi = abs(sin(2*theta).*cos(2*theta));  % abs函数求得是绝对值
polarplot(theta,radi)   %括号内是圆弧的半径
1.4、散点图

scatter函数用来绘制×和y值的散点图

matlab 复制代码
Height = randn(1000,1);%生成1000行1列的均匀分布的伪随机数,并且符合正态分布
Weight = randn(1000,1);
scatter(Height,Weight) 
xlabel('Height')
ylabel('Weight')

2、三维立体绘图

2.1、三维曲面图

surf函数可用来做三维曲面图。一般是展示函数z=z(x,y)的图像首先需要用meshgrid创建好空间上(x,y)点。

matlab 复制代码
[×,Y] = meshgrid(-2:0.2:2);  %在平面布置函数,在-2~2的平面上,每隔0.2布置一个点
%Z =×.^2 + Y.^2
z = x.*exp( -x.^2-Y.^2);  %关于z的一个关系式:e的-x的平方-y的平方的次方,见注释②
surf(×,Y,Z);
%colormap hsv
%colormap设置颜色,可跟winter、summer等,hsv
%colorbar %傍边展示不同颜色不同的数值区间范围

注释②:

2.2、三维曲线图(点图)
matlab 复制代码
t = 0: pi/50:10*pi ;
plot3(sin(t),cos(t),t)  %plot3三维绘图的标志,参数分别是x,y,z
xlabel('sin(t)') %x轴的标签
ylabel('cos(t)')
zlabel('t')
%hold on  %中使用"保持"命令来保留当前绘图,同时向同一图形添加新的绘图。这允许在同一图形上显示多个绘图。
%hold off  %"暂停"命令用于关闭暂停功能,这意味着后续绘图将替换图中的现有绘图,而不是添加到图中。
grid on  %添加网格线
axis square %形成正方形图

执行结果:

3、图片分区(子图)

matlab 复制代码
x=linspace(0,2*pi,60);
subplot(2,2,1)  %将图形窗口分为2行2列,并且取到第1块
plot(x, sin(x)-1);
title('sin(x)-1'); axis([0,2*pi,-2,0])
subplot(2,1,2)
plot(x, cos(x)+1);
title('cos(x)+1'); axis([0,2*pi,0,2])
subplot(4,4,3)
plot(x, tan(x));
title('tan(x)'); axis([0,2*pi,-40,40])
subplot(4,4,8)   %将图形窗口分为4行4列,并且取到第8块
plot(x, cot(x));
title('cot(x)'); 
axis([0,2*pi, -35,35])
相关推荐
唐 城9 分钟前
curl 放弃对 Hyper Rust HTTP 后端的支持
开发语言·http·rust
码银2 小时前
【python】银行客户流失预测预处理部分,独热编码·标签编码·数据离散化处理·数据筛选·数据分割
开发语言·python
从善若水2 小时前
【2024】Merry Christmas!一起用Rust绘制一颗圣诞树吧
开发语言·后端·rust
2401_858286113 小时前
115.【C语言】数据结构之排序(希尔排序)
c语言·开发语言·数据结构·算法·排序算法
Jelena技术达人3 小时前
Java爬虫获取1688关键字 item_search接口返回值详细解析
java·开发语言·爬虫
数据小爬虫@3 小时前
Java爬虫:速卖通(AliExpress)商品评论获取指南
java·开发语言
waterme1onY3 小时前
Spring AOP 中记录日志
java·开发语言·笔记·后端
2401_879103683 小时前
24.12.25 AOP
java·开发语言·笔记
酒鬼猿3 小时前
C++进阶(二)--面向对象--继承
java·开发语言·c++
FL16238631293 小时前
树莓派换源
开发语言