图形窗口的分割

在同一个图形窗口绘制若干个独立的图形,同一窗口中的不同图形称为子图。

MATLAB系统提供了subplot函数,用来将当前图形窗口分割成若干个绘图区。每个区域有独立坐标系,是独立子图。

原理:通过subplot函数激活某一区,该区为活动区,所发出的绘图命令都是作用于活动区。

subplot的调用格式:subplot(m,n,p)

该函数将当前图形窗口分成m*n个绘图区,即m行,每行n个绘图区,区号按行优先编号,且选定第p个区为当前活动区。

例:

例:在一个图形窗口中以子图形式同时绘制正弦、余弦、正切、余切曲线。
程序如下:
x=linspace(0,2*pi,60);
y=sin(x);
z=cos(x);
t=sin(x)./(cos(x)+eps);
ct=cos(x)./(sin(x)+eps);

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

subplot(2,2,2);
plot(x,z);
title('cos(x)');
axis([0,2*pi,-1,1]);

subplot(2,2,3);
plot(x,t);
title('tangent(x)');
axis([0,2*pi,-40,40]);

subplot(2,2,4);
plot(x,ct);
title('cotangent(x)');
axis([0,2*pi,-40,40]);

  

 

 

转载于:https://www.cnblogs.com/freesblog/p/4070063.html

同样使用Python的matplotlib库,可以使用subplot()函数来实现将图形窗口分割成多个域,然后在每个域内分别绘制对应的图形。以下是一个可能的实现示例,供参考: ``` python import numpy as np import matplotlib.pyplot as plt # 生成x轴的数据,取值范围是[0, 100],共100个点 x = np.linspace(0, 100, 100) # 计算y=lgx的函数值 y = np.log10(x) # 创建一个2行2列的图形窗口,并将第一个域激活 plt.subplot(2, 2, 1) # 绘制y=lgx的对数坐标曲线 plt.semilogy(x, y) # 添加标题和栅格 plt.title('Logarithmic scale on y-axis') plt.grid(True) # 将第二个域激活 plt.subplot(2, 2, 2) # 绘制y=lgx的x半对数坐标曲线 plt.plot(x, y) # 使用半对数坐标 plt.xscale('log') # 添加标题和栅格 plt.title('Semilogx scale') plt.grid(True) # 将第三个域激活 plt.subplot(2, 2, 3) # 绘制y=lgx的y半对数坐标曲线 plt.plot(x, y) # 使用半对数坐标 plt.yscale('log') # 添加标题和栅格 plt.title('Semilogy scale') plt.grid(True) # 调整子图之间的间距 plt.subplots_adjust(hspace=0.5, wspace=0.5) # 显示图形 plt.show() ``` 这段代码会生成一个图形窗口,其中被分割为3个域,分别绘制y=lgx在[0,100]间内对数坐标、x半对数坐标及y半对数坐标的曲线,并加上标题和栅格。第一个域使用了对数坐标,第二个域使用了x半对数坐标,第三个域使用了y半对数坐标。同时,使用subplot()函数将图形窗口分割为3个域,并将它们分别激活。最后,使用subplots_adjust()函数调整子图之间的间距。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值