使用2D列表绘制散点图

时间:2015-03-31 08:38:28

标签: python matplotlib scatter-plot

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

ValueError: setting an array element with a sequence.

如何解决这个问题?感谢

1 个答案:

答案 0 :(得分:1)

我假设你不想在他们不存在的情况下绘制积分。您可以将这些替换为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()