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])