python - 如何在多个子图中绘图

标签 python pandas matplotlib seaborn subplot

我对这段代码的工作原理有点困惑:

fig, axes = plt.subplots(nrows=2, ncols=2)
plt.show()

在这种情况下,无花果轴是如何工作的?它有什么作用?

还有为什么这不能做同样的事情:

fig = plt.figure()
axes = fig.subplots(nrows=2, ncols=2)

最佳答案

有几种方法可以做到这一点。 subplots 方法创建图形以及随后存储在 ax 数组中的子图。例如:

import matplotlib.pyplot as plt

x = range(10)
y = range(10)

fig, ax = plt.subplots(nrows=2, ncols=2)

for row in ax:
    for col in row:
        col.plot(x, y)

plt.show()

enter image description here

但是,这样的事情也可以,但它不是那么“干净”,因为您正在创建一个带有子图的图形,然后在它们之上添加:

fig = plt.figure()

plt.subplot(2, 2, 1)
plt.plot(x, y)

plt.subplot(2, 2, 2)
plt.plot(x, y)

plt.subplot(2, 2, 3)
plt.plot(x, y)

plt.subplot(2, 2, 4)
plt.plot(x, y)

plt.show()

enter image description here

关于python - 如何在多个子图中绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31726643/

相关文章:

python - Django 时区不知道 DateTimeField 错误

python - Pandas Dataframe 中的动态索引字符串切片

python - Matplotlib 设置,用于保存用于发布的图形和来自交互式绘图的报告

python - 如何修复内部网格 - Matplotlib 子图

python - 在 dna 序列中进行反向互补的函数

python - 用于迭代 Python 列表的开始索引

python - pandas/python 中的条件值分组和计数

python - matplotlib 事件监听器在 PyQT 小部件中不起作用

python - 我的 python 多处理代码比串行代码慢

python - Pandas - 替换 for 循环以提高效率