Matlab入门基础_三

绘图

%% 绘图
%{
一、二维图形
  二维绘图的基本命令有plot,loglog,semilogx,semilogy 和polar。它们的使
用方法基本相同,其不同特点是在不同的坐标中绘制图形。plot 命令使用线性坐标空
间绘制图形;loglog 命令在两个对数坐标空间中绘制图形;而semilogx(或semilogy)
命令使用x 轴(或y 轴)为对数刻度,另外一个轴为线性刻度的坐标空间绘制图形;
polar使用极坐标空间绘制图形。

1、plot使用格式:plot(x,y,'color_point_linestyle')

    线色(r-red,g-green,b-blue,w-white,k-black,i-invisible,y-yellow)
    数据点(.,o,x,+*SHDV^><,p)
    线型(--.--:)

 当 plot(x,y)中的 x 和y均为m× n矩阵时,plot 命令将绘制n条曲线。
 plot(t,[x1,x2,x3])在同一坐标轴内同时绘制三条曲线。
 如果多重曲线对应不同的向量绘制,可使用命令plot(t1,x1,t2,x2,t3,x3),式中x1 对应t1,x2 对应t2等等。

2、subplot使用格式:subplot(r,c,p)
    subplot命令使得在一个屏幕上可以分开显示n个不同坐标系,且可分别在每一个
    坐标系中绘制曲线。
    该命令将屏幕分成r*c个子窗口,而p 表示激活第p个子窗口。窗口的排号是从左到右,
    自上而下。

在图形绘制完毕后,执行如下命令可以再在图中加入标题、标号、说明和分格线等。
这些命令有title,xlabel,ylabel,text,gtext 等
%}

% sin(x)图像
x = (-pi:0.1:pi);
plot(sin(x))

% 极坐标
x = (0:0.01:2*pi);
r=cos(2*x);
polarplot(x,r)

%%  二维散点图
clear,clc
load seamount
whos

subplot(121)        % 激活一号窗口(一个界面)
scatter(x,y)        % 画散点图
subplot(122)        % 激活二号窗口
scatter(x,y,[],z)   % []:系统默认散点大小;z:深度表示颜色
close all
figure              % 新开辟画图界面
scatter(x,y,20,z,'fill')

xlabel('$x$','Interpreter','Latex')
ylabel('$y$','Interpreter','Latex','Rotation',0)
%%  三维散点图
clear,clc;
load seamount

scatter3(x,y,z,30,z,'fill')
xlabel('$x$','Interpreter','Latex')
ylabel('$y$','Interpreter','Latex')
zlabel('$z$','Interpreter','Latex','Rotation',0)
%%  多分类数据的散点图
% gplotmatrix 可以绘制分组数据变量对之间的散点图
% gscatter 绘制分组数据的散点图

clear, clc;
load fisheriris
whos
                     % 分类  颜色  形状
gplotmatrix(meas,meas,species,'rgb','sdo')
figure
gscatter(meas(:,3),meas(:,4),species,'rgb','sdo')
xlabel('PetalLength'), ylabel('PetalWidth')
%%  plot曲线图和散点图
clear,clc
x = 1:6;
y = rand(1,6);
% plot(x,y,'Color|Linstyle|Marker')
plot(x,y,'r-o')   % r:-:线 o:%%  plot和plot3
clear,clc
load seamount
subplot(121), plot(x,y,'ro'), title('二维散点图')
subplot(122), plot3(x,y,z,'bo'), title('三维散点图')
%%  绘制单位圆
clear,clc
t = 0:0.01:2*pi;
x = cos(t);
y = sin(t);
plot(x,y), axis square

figure
x = @(t) cos(t);
y = @(t) sin(t);
fplot(x,y,[0,2*pi]), axis equal
%%  单位圆的内接正八边形
clear, clc
x = @(t) cos(t);
y = @(t) sin(t);
fplot(x,y,[0,2*pi])

t = linspace(0,2*pi,9);
x2 = cos(t);
y2 = sin(t);
hold on
plot(x2,y2), axis equal
%%  三维绘图
%{
1、三维曲线      plot3
2、三维网格      mesh
3、三维表面图    surf
%}

%%  三维螺旋线
clear, clc
x = @(t) t.*cos(t);
y = @(t) t.*sin(t);
z = @(t) t;
fplot3(x,y,z,[0,100])
%%  隐函数绘图
clear,clc
subplot(121)
x = @(t,z) 2*z.*cos(t);
y = @(t,z) sqrt(2)*z.*sin(t);
z = @(t,z) z;
fsurf(x,y,z,[0,2*pi,-5,5])

subplot(122)
f = @(x,y,z)x.^2/4+y.^2/2-z.^2;
interval = [-10,10,-10,10,-5,5];
fimplicit3(f,interval)
%%  莫比乌斯带
clear,clc
x = @(s,t) (2+s/2.*cos(t/2)).*cos(t);
y = @(s,t) (2+s/2.*cos(t/2)).*sin(t);
z = @(s,t) (s/2.*sin(t/2));
fmesh(x,y,z,[-1,1,0,2*pi])
view(-40,60)        % 设置视角

你可能感兴趣的:(数学建模,matlab)