python独立图形_python-在matplotlib中创建两个完全独立的图并...

如果您希望能够编写清楚地将命令应用于不同轴的代码,则可以使用object oriented interface.

实际上,您的前两个示例都在使用此接口.区别在于plt.subplots()将同时创建图形对象和轴网格,而plt.figure()仅创建图形.

图形对象具有在其中创建轴的方法.因此,这两个代码块是等效的:

fig, ax = plt.subplots()

fig = plt.figure()

ax = fig.add_subplot(111)

通常,仅当您希望图形中的多个轴不遵循规则的网格时,后一种方法才有用.因此,您可以执行以下操作:

fig = plt.figure()

ax = fig.add_axes([.1, .1, .2, .8])

这将在图的左侧添加一个高轴对象.

接下来,如何绘制多个轴?

subplots函数采用两个位置参数来指定网格中的行数和列数(默认为(1,1).因此,如果要并排两个轴,则可以

fig, axes = plt.subplots(1, 2)

现在,轴将成为一个(1,2)对象数组,其中填充了Axes对象.对于小型网格,使用Python的元组拆包并直接引用对象通常更方便:

fig, (ax1, ax2) = plt.subplots(1, 2)

现在,您如何处理这些对象,它们与MATLAB样式的过程接口之间的关系是什么?

pyplot命名空间中的大多数函数还作为Figure或Axes对象上的方法存在. Matplotlib(和MATLAB)具有“当前”图形和轴的概念.当您调用诸如plt.plot之类的函数时,它将在当前轴上绘制(通常是最近创建的一个).当您调用诸如plt.savefig之类的函数时,它将保存当前图形.

对于简单的任务,这比使用面向对象的界面更直接,而且通常更容易.但是,当您开始绘制更复杂的图时,例如一个轴网格,其中每个网格都有多个图层(可能是散点图和回归线),能够围绕您正在做的事情而不是在您做事的地方构造代码具有很大的优势.通常,绘制以面向对象的方式编写的代码的比例将比以过程性方式编写的代码更好.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值