Python 用二维列表绘制散点图
我有两组数据,第一组数据是1D列表,第二组数据是2D列表。我想画一个散点图,第一组数据是x,第二组数据是y。但是,2D列表中元素的长度不相同,例如,x=[1,2,3]y=[1,2],[3,4,5],[7,6]],因此当我尝试绘图时,会收到警告Python 用二维列表绘制散点图,python,matplotlib,scatter-plot,Python,Matplotlib,Scatter Plot,我有两组数据,第一组数据是1D列表,第二组数据是2D列表。我想画一个散点图,第一组数据是x,第二组数据是y。但是,2D列表中元素的长度不相同,例如,x=[1,2,3]y=[1,2],[3,4,5],[7,6]],因此当我尝试绘图时,会收到警告 ValueError: setting an array element with a sequence. 如何解决这个问题?谢谢我假设您不想在y中不存在点的情况下绘制点。您可以将其替换为“无”,但以下操作应有效: import numpy as np
ValueError: setting an array element with a sequence.
如何解决这个问题?谢谢我假设您不想在y中不存在点的情况下绘制点。您可以将其替换为“无”,但以下操作应有效:
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()
将numpy导入为np
将matplotlib.pyplot作为plt导入
#定义数组
x=[1,2,3]
y=[[1,2],[3,4,5],[7,6]]
#Padd y,无长度为x
对于y中的i:
而len(i)
很抱歉,我没有在这里发布我的代码,因为代码太长,我已经在描述中概述了问题。感谢您的回答,但问题是y中有很多元素,无法手动为每个元素添加任何元素。您可以根据需要使用某种形式的循环来填充数组,我已编辑了我的答案。