专栏
标签
分享2 plot 进阶
技术分享
发布于 2024-09-19 10:31:03
查看 48过去648天

任务:1.在同一幅图像中绘制多条曲线; 2.分别展示多个图像。


image.png
为了对比几条数据曲线间的关系,我们经常需要把几条曲线呈现在同窗口中以便更好地对曲线间的关系形成直观感受。
x=0:pi/100:2*pi
y=sin.(x)
z=cos.(x)
xy=y.*z
plot(x,y,x,z,x,xy)

基本使用格式:
plot(曲线1横坐标,曲线1纵坐标,曲线2横坐标,曲线2纵坐标,曲线3横坐标,曲线3纵坐标)
默认情况下会自动用不同颜色自动标识出不同的曲线,当然我们也可以通过参数对曲线的颜色、线型进一步明确要求,如:
plot(x,y,x,z,"--",x,xy,":")
image.png

仍然是这三条曲线,如果我们想分别以三幅图像呈现,该如何实现?
image.png
此时我们要用到一个新的函数:
subplot(m,n,p)
subplot(m,n,p)将当前图窗划分为m×n网格,并在p指定的位置创建坐标区。Syslab按行号对子图位置进行编号。第一个子图是第一行的第一列,第二个子图是第一行的第二列,依此类推。如果指定的位置已存在坐标区,则此命令会将该坐标区设为当前坐标区。
上面例子实现的代码如下:
x=0:pi/100:2*pi
y=sin.(x)
z=cos.(x)
xy=y.*z
#说明:我们将绘图区域划分为3行1列,分别用ax1、ax2、ax3表明区域,然后在plot函数中声明相关的位置即可,利用subplot函数可以十分灵活的帮助我们实现图形的布局。
ax1=subplot(3, 1, 1)
ax2=subplot(3, 1, 2)
ax3=subplot(3, 1, 3)
plot(ax1,x,y)
plot(ax2,x,z)
plot(ax3,x,xy)

那么我们可以思考一下如何实现下面的效果:
image.png
image.png
如果需要多开图形窗口则可以利用figure()函数实现,可以简单理解为利用figure()先生成空白画布,随后的plot()指令就会在上面作图了。
image.png

所属专栏:Julia语言
产品信息:Syslab科学计算环境
科学计算

全部回答

暂无数据
暂无数据
用户
和原帖交流更多问题细节吧,去
我要发帖 我要发帖
资料中心 资料中心
查看更多>
热门帖子 热门帖子
主要贡献者 主要贡献者
过去7天