如何为 python 中的每个数据生成单独的散点图?

How to produce separate scatter plots for each data in python?

我有列表列表,其中每个列表表示为一个特征向量:

Matrix=[[12,43,65,78,54,43,76,98],
[23,465,90,9,32,75,324,12],
[67,43,21,56,32,7,4,9],
[3,9,0,67,23,12,65,97]]

我还有另一个特征向量作为fvector:

fvector=[54,76,12,55,88,75,32,3]

我想分别用 fvector 为矩阵的每个列表绘制散点图,但是当我尝试通过遍历每个列表进行绘图时,它会绘制在同一张图上:

我试过这个:

import matplotlib.pyplot as plt
for i in Matrix:
    plt.scatter(i,fvector)

我得到的输出是:

但我想分别绘制每个矩阵图,是否可以绘制单独的小图? 任何参考或资源都会有所帮助。

谢谢

for i in Matrix:
    plt.scatter(i,fvector)
    plt.show()

应该做

您需要使用子图使用多个轴

fig, ax = plt.subplots(2)

情节看起来像这样:

axs[0].plot(x1, y)
axs[1].plot(x2, y)

您可以使用子图在同一张图上创建多个图。

for i, item in enumerate(Matrix,1):
    plt.subplot(2, 2, i)
    plt.scatter(item, fvector)
plt.show()

如果我们在矩阵中有四个以上的列表,那么我们可以将它们分成四个一组,并为每组 4 个列表生成单独的图形。请检查以下内容:

for j in range(0, len(Matrix), 4):  
    for i, item in enumerate(Matrix[j:j+4],1):
        plt.subplot(2, 2, i)
        plt.scatter(item, fvector)
    plt.show()

希望对您有所帮助!!