当前位置:   article > 正文

matplotlib.pyplot subplots、plot、xlabel等_plt.subplot(1, 3, 1)

plt.subplot(1, 3, 1)

一、plt.subplots(nrows, ncols, ...)

  1. import matplotlib.pyplot as plt
  2. fig, axes = plt.subplots(1, 3, num='train', figsize=(12, 6))

上述代码创建了一个有1行3列axes的figure,figure的大小为(12,6),figure的名字为'train'。如下图所示。此时plt指向最右边的ax(因为是最后创建的)。

 上述代码等价于:(和上面一样,此时plt指向最右边的ax)。

  1. import matplotlib.pyplot as plt
  2. plt.figure("train", (12, 6))
  3. plt.subplot(1,3,1)
  4. plt.subplot(1,3,2)
  5. plt.subplot(1,3,3)

 二、plt当前所指的fig/ax永远是最新创建的fig/ax,在调用plt.xxx函数时,要注意操作的对象是哪一个fig的哪个ax。(但plt.show会显示所有figure)

  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. np.random.seed(0)
  4. epochs = 4
  5. epoch_loss_values = np.random.randint(5, size=epochs)
  6. fig, axes = plt.subplots(1, 3, num='train', figsize=(12, 6))
  7. x = [i + 1 for i in range(len(epoch_loss_values))]
  8. y = epoch_loss_values
  9. axes[0].plot(x, y) # ax也有plot方法
  10. axes[0].set_xlabel('aaa') # ax有set_xlabel方法,没有xlabel方法
  11. plt.xlabel("epoch")
  12. plt.title("Epoch Average Loss")

结果如下:

三、一个fig中新创建的ax可能会覆盖旧的ax

  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. np.random.seed(0)
  4. epochs = 4
  5. epoch_loss_values = np.random.randint(5, size=epochs)
  6. fig, axes = plt.subplots(1, 3, num='train', figsize=(12, 6))
  7. x = [i + 1 for i in range(len(epoch_loss_values))]
  8. y = epoch_loss_values
  9. axes[0].plot(x, y)
  10. axes[0].set_xlabel('aaa')
  11. plt.subplot(1,2,2)
  12. plt.xlabel("epoch")
  13. plt.title("Epoch Average Loss")

结果如下:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/166926
推荐阅读
相关标签
  

闽ICP备14008679号