用二维列表绘制散点图

ploting scatter plot with 2D list

我有两组数据,第一组数据是一维列表,第二组数据是二维列表。我想绘制一个散点图,第一组数据为 x,第二组数据为 y。但是2D列表中元素的长度并不相同,例如x=[1,2,3] y = [[1,2], [3,4,5],[7,6]] ,所以当我尝试绘图时,我收到警告

ValueError: setting an array element with a sequence.

如何解决这个问题?谢谢

我假设您不想绘制 y 中不存在的点。您可以将它们替换为 None,以下应该有效:

import numpy as np
import matplotlib.pyplot as plt

#Define arrays
x = [1,2,3]
y = [[1,2], [3,4,5],[7,6]]

#Padd y with None to length of x
for i in y:
    while len(i) < len(x):
        i.append(None)

for yn in y:
    plt.scatter(x,yn)

plt.show()