Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用二维列表绘制散点图_Python_Matplotlib_Scatter Plot - Fatal编程技术网

Python 用二维列表绘制散点图

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

我有两组数据,第一组数据是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
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中有很多元素,无法手动为每个元素添加任何元素。您可以根据需要使用某种形式的循环来填充数组,我已编辑了我的答案。