matlab画多个图在同一个窗口,matlab将多个图画在一起

  matlab画多个图在同一个窗口,matlab将多个图画在一起

  CSDNGitHubpython使用matplotlib:subplot绘制多个子图aderx coding/language/python/matplotlib/subplot

  本作品根据知识共享署名-非商业使用-以同样方式共享4.0国际许可协议进行许可。转载请注明出处。

  1问题描述matploglib可以画出漂亮的图。有时候,我们希望将一组图表放在一起进行比较。有什么好办法吗?

  matplotlib中提供的Subplot可以很好的解决这个问题。

  matplotlib下的subplot函数介绍,一个Figure对象可以包含多个子图(轴),使用Subplot()可以快速绘制,其调用形式如下:

  plot (numRows,numCols,plot num) 1图表的整个绘图区分为numRows和numcols列。

  然后,从左到右、从上到下给每个分区编号,左上分区的编号为1。

  PlotNum参数指定创建轴对象的区域。

  如果numrows=2,numcols=3,那么整个绘图图表样式就是23的图片区域,用坐标表示如下

  (1,1),(1,2),(1,3) (2,1),(2,2),(2,3) 12此时,当plotnum=3时,表示的坐标为(1,3),即第一行第三列的子图。

  如果numRows、numCols和plotNum都小于10,可以缩写成整数,例如subplot(323)和subplot(3,2,3)相同。

  Subplot在plotNum指定的区域创建一个轴对象。如果新创建的轴与先前创建的轴重叠,先前的轴将被删除。

  3例程序3.1规则分为3*3 #!/usr/yqdbd/env python#!encoding=utf-8 import matplotlib import matplotlib . py plot as pltif _ _ name _ _= _ _ main _ _ :for I,color in enumerate( rgby ):PLT . subplot(221 I,axis BG=color)PLT . show()1234567891011

  3.2不规则划分但有时我们的划分是不规则的,如以下形式

  这个应该怎么分?

  将整个表格除以2*2。

  前两个很简单,分别是(2,2,1)和(2,2,2)。

  但是第三个图呢,它占据了(2,2,3)和(2,2,4)

  说明需要再分一次,按照2 * 1分。

  前两个数字占据(2,1,1)的位置

  因此,第三个图形占据了(2,1,2)的位置。

  代码如下,参考matplotlib绘制多个子图——subplot。

  #!/usr/yqdbd/env python#!encoding=utf-8 import matplotlib . py plot as pltimport numpy as NP def f(t):返回NP . exp(-t)* NP . cos(2 * NP . pi * t)if _ _ name _ _= _ _ main _ _ :t1=NP . arange(0,5,0.1) t2=np.arange(0,5,0.02)PLT . figure(12)PLT . subplot(221)PLT . plot(t1,f(t1), bo

  本作品根据知识共享署名-非商业使用-以同样方式共享4.0国际许可协议进行许可。

matlab画多个图在同一个窗口,matlab将多个图画在一起