如何使用matplotlib在同一窗口中绘制多个散点图?

时间:2018-04-11 20:08:33

标签: python matplotlib

我需要使用matplotlib在同一个窗口中绘制15个散点图(5行和3列)。我已经找到了一个代码来解决类似的问题,但我不能适应我的问题。我觉得这很容易做到,但我对此很难。有人能帮助我吗?

这是我试图重用的代码:

import numpy as np
import matplotlib.pyplot as plt

w=10
h=10
fig=plt.figure(figsize=(8, 8))
columns = 4
rows = 5
for i in range(1, columns*rows +1):
    img = np.random.randint(10, size=(h,w))
    fig.add_subplot(rows, columns, i)
    plt.imshow(img)
plt.show()

谢谢

1 个答案:

答案 0 :(得分:2)

以下内容创建了两个numpy数组,并绘制了一个包含15个子图的图形,排列为5行3列。请注意,您也可以在x循环内动态分配yfor变量,特别是如果您想在创建每个子绘图时循环遍历一组数据:< / p>

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(1,10,10)
y = np.linspace(1,10,10)

fig = plt.figure(1)

columns = 3
rows = 5

for i in range(1, columns*rows+1):
    fig.add_subplot(rows, columns, i)
    plt.scatter(x, y)

plt.tight_layout()
plt.show()