你所期待的MATLAB绘图可视化

二维曲线

plot函数
  1. plot函数的基本用法
    plot(x, y)
    其中,x和y分别用于存储x坐标和y坐标数据。
  2. 最简单的plot函数调用格式
    plot(x)
  3. 当plot函数的参数x是复数向量时,则分别以该向量元素实部和 虚部为横、纵坐标绘制出一条曲线。
>> x=[1,5,6,9,8];
>> y=[8,6,9,5,2];
>> cx=complex(x,y);
>> plot(cx)
  1. plot(x, y)函数参数的变化形式
    当x是向量,y是矩阵时
    如果矩阵y的列数等于x的长度,则以向量x为横坐标,以y的每个行向量为纵坐标绘制曲线,曲线的条数等于y的行数。
    如果矩阵y的行数等于x的长度,则以向量x为横坐标,以y的每个列向量为纵坐标绘制曲线,曲线的条数等于y的列数。
  2. 含选项的plot函数
    plot(x, y,选项)
    在这里插入图片描述
fplot函数
  1. fplot函数的基本用法 : fplot(f,(lims),选项)
    其中,f代表-一个函数,通常采用函数句柄的形式。
    lims为x轴的取值范围,用二元向量[xmin,xmax]描述,默认值为[-5,5]。 选项 定义与plot函数相同。
>> fplot(@(x)sin(1./x),[0,0.2],'b')

在这里插入图片描述

  1. 双输入函数参数的用法: fplot(funx, funy, tlims, 选项)
    其中,funx、 funy代表函数,通常采用函数句柄的形式。
    tlims为参 数函数funx和funy的自变量的取值范围,用二元向量[tmin, tmax]描述。
>> fplot(@(t)t.*sin(t),@(t)t.*cos(t),[0,10*pi],'b')

在这里插入图片描述

绘制图形的辅助操作

图形标注
  • title(图形标题)
    title函数的基本用法: title(图形标题)
  • title(图形标题,属性名,属性值)
    Color属性:用于设置图形标题文本的颜色。
    FontSize属性:用于设置标题文字的字号。
>> x=-2*pi:0.05:2*pi;
>> y=sin(x);
>> plot(x,y)
>> title('y=sin(x)')

在这里插入图片描述
在这里插入图片描述

  • xlabel(x轴说明)

  • ylabel(y轴说明)

  • text(x, y,图形说明)

>> text(-2*pi,0, '-2{\pi}') 
>> text(3, 0.28,'\leftarrow sin(x)')
  • gtext(说明)
  • legend(图例1,图例2, …)
>> X = linspace(0,2*pi,100);
>> plot(x, [sin(x); sin(2*x); sin(3*x)])
>> legend('sin(x)', 'sin(2x)', 'sin(3x)')

在这里插入图片描述

坐标控制
axis函数

axis([xmin, xmax, ymin, ymax, zmin, zmax])
axis的其他用法

  • axis equal:纵、横坐标轴采用等长刻度
  • axis square:产生正方形坐标系(默认为矩形)
  • axis auto:使用默认设置
  • axis off:取消坐标轴
  • axis on:显示坐标轴
添加网格和边框
  • grid on
  • grid off
  • grid
x=linspace(0, 2*pi, 100);
y=[sin(x); sin(2*x); sin(0.5*x)];
plot(x,y)
axis([O, 7,-1.2, 1.2])
title('不同频率正弦函数曲线");
xlabel(Variable X); ylabel(Variable Y');
text(2.5, sin(2.5), 'sin(x); .
text(1.5, sin(2*1 .5), 'sin(2x)");
text(5.5, sin(0.5*5.5), 'sin(0.5x);
legend(sin(x)','sin(2x)sin(0.5x)")
grid on
图形保持
  • hold on
  • hold off
  • hold
t = linspace(O, 2*pi, 100); .
X= sin(t); y = cos(t);
plot(x,y, 'b')
hold on;
plot(2*x, 2*y, r-)
grid on
axis([-2.2, 2.2, -2.2, 2.2])
axis equal
图形窗口的分割

subplot(m, n, p)
其中,m和n指定将图形窗C ]分成m X n个绘图区,p指定当前活动区。

>> subplot(2, 2, 1);
>> x=linspace(0, 2*pi, 60);
>> y=sin(x);
>> plot(x, y);
>> title('sin(x);
>> axis([0, 2*pi,-1, 1]);

其他形式的二维图形

其他坐标系下的二维曲线图
对数坐标图
  • semilogx(x1, yl, 选项1, x2, y2,选项2, .)
  • semilogy(x1, y1,选项1, x2, y2,选项2,…)
  • loglog(x1, y1,选项1, x2, y2,选项2, … )
极坐标图

polar(theta, rho,选项)
其中,theta为极角,rho为极径,选项的内容与plot函数相同。

t=0:pi/100:2*pi;
r= 1-sin(t);
subplot(1,2, 1)
polar(t, r)
subplot(1, 2, 2)
tl = t-pi/2;
r1 = 1-sin(t1);
polar(t, r1)
统计图
  • bar函数
    bar(y, style)
    其中,参数y是数据,选项style用于指定分组排列模式,有”grouped”:簇状分组、“stacked”:堆积分组。
x=[2015, 2016, 2017];
y=[68, 80, 115, 98, 102;75, 88, 102, 99, 110;81, 86, 125, 105, 115];
bar(x, y)
title("Group');
  • barh函数
    与bar相同
直方图
  • hist函数
    hist(y)
    hist(y, x)
    其中,参数y是要统计的数据,x用于指定区间的划分方式。
y=randn(500, 1);
subplot(2, 1, 1);
hist(y);
title('高斯分布直方图');
subplot(2, 1, 2);
x=-3:0.2 : 3;
hist(y, x);
title('指定区间中心点的直方图')

在这里插入图片描述

  • rose()函数
    rose(theta, x)
    其中,参数theta用于确定每一-区间与原点的角度,选项x用于指定区间的划分方式。
>> y=randn(500, 1);
theta=y*pi;
rose(theta)
>> title('在极坐标下的直方图')

在这里插入图片描述

散点图
  • scatter函数
    scatter(x, y,选项, ‘filled’)
    参数x、y用于定位数据点,选项用于指定 线型、颜色、数据点标记。
>> t=0: pi/50: 2*pi;
x= 16*sin(t).^3;
y= 13*cos(t)-5*cos(2*t)-2*cos(3*t)-cos(4*t);
>> scatter(x, y, 'rd', 'filled')

在这里插入图片描述

饼图
  • pie函数
    pie(x, explode)
    其中,参数x存储待统计数据,选项explode控制图块的显示模式。
>> score=[5, 17, 23, 9, 4];
ex=[0,0,0,0, 1];
pie(score, ex)
>> legend('优秀','良好','中等','及格','不及格');

在这里插入图片描述

三维曲线

plot3函数

plot3函数的基本用法: plot3(x, y, z)
其中,参数x、y、z组成一组曲线的坐标。

plot3(x, y, z,选项)
选项用于指定曲线的线型、颜色和数据点标记。

x=[0.2, 1.8, 2.5];
y=[1.3, 2.8, 1.1];
z=[0.4, 1.2, 1.6];
plot3(x, y, z)
grid on
axis([0,3, 1,3, 0, 2]);

在这里插入图片描述

t=0:0.01 :2*pi;
t=t';
x=[t,t,t,t, t];
y=[sin(t), sin(t)+ 1, sin(t)+2, sin(t)+3, sin(t)+4];
z=[t,t, t,t, t];
plot3(x, y, z)
>> t=0: pi/50:6*pi;
>> x=cos(t);
>> y=sin(t); 
>> z=2*t;
>> plot3(x, y,z, 'p')
>> grid on

在这里插入图片描述

三维曲面

平面网格数据的生成
利用矩阵运算生成
>>x=2:6;
>>y=(3: 8)';
>> X = ones(size(y))*x;
> Y=y*ones(size(x));
利用meshgrid函数生成

[X, Y]=meshgrid(x, y);
其中,参数x、y为向量,存储网格点坐标的X、Y为矩阵。

X= 2:6;
y= (3:8);
[X, Y]= meshgrid(x, y);
Z = randn(size(X));
plot3(X,Y,Z); .
grid on;

在这里插入图片描述

mesh函数
surf函数

其中,X、y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下的曲面颜色。

>> t= -2:0.2:2;
[X, Y]= meshgrid(t);
Z=X.* exp(-X.^2- Y.^2);
subplot(1,3,1)
mesh(X,Y,Z);
subplot(1,3,2)
surf(X,Y,Z);
subplot(1,3,3)
plot3(X,Y,Z);
grid on

在这里插入图片描述

mesh(z, c)
surf(z, c)

当x、y省略时,z矩阵的第2维下标当作x轴坐标,z矩阵的第1维下标当作y轴坐标。

带等高线的三维网格曲面函数meshc
带底座的三维网格曲面函数meshz
具有等高线的曲面函数surfc
具有光照效果的曲面函数surfl
>> [x,y]=meshgrid(0:0.1 :2, 1 :0.1 :3);
z=(x-1).^2+(y-2).^2- 1;
subplot(2, 2, 1);
meshc(x, y, z); title('meshc(x, y, z)')
subplot(2, 2, 2);
meshz(x, y, z); title('meshz(x, y, z)')
subplot(2, 2, 3);
surfc(x, y, z); title('surfc(x, y, z')
subplot(2, 2, 4);
surfl(x, y, z); title('surfl(x, y, z)')

在这里插入图片描述

标准三维曲面
sphere函数

[x, y, z]=sphere(n)

cylinder函数

[x, y, z]=cylinder(R, n)

subplot(1,3, 1);
[x, y, z]=cylinder; 
surf(x, y, z);
subplot(1,3, 2);
t=linspace(0,2*pi, 40);
[x,y,z]=cylinder(2+cos(t), 30);
surf(x, y, z);
subplot(1, 3, 3);
[x,y, z]=cylinder(0: 0.2 :2, 30);
surf(x, y, z);

在这里插入图片描述

[x, y, z]= cylinder(1, 60);
z=[-1*z(2,:); z(2,:)]; 
surf(x, y, z);
hold on .
surf(y, z, x);
axis equal

在这里插入图片描述

图形修饰处理

交互式绘图工具

>>plottools

绘制二维曲线的函数

  • plot()、fplot()

绘制三维曲线的函数

  • plot3()、fplot3()

绘制三维曲面的函数

  • mesh()、surf()、 fmesh()、 fsurf()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莫余

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值