用二维列表绘制散点图
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()
我有两组数据,第一组数据是一维列表,第二组数据是二维列表。我想绘制一个散点图,第一组数据为 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()