我需要使用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()
谢谢
答案 0 :(得分:2)
以下内容创建了两个numpy
数组,并绘制了一个包含15个子图的图形,排列为5行3列。请注意,您也可以在x
循环内动态分配y
和for
变量,特别是如果您想在创建每个子绘图时循环遍历一组数据:< / 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()