Python 3.x 在mplot3d的scatter()上获取值时出错:参数xs和ys的大小必须相同。但是它们的尺寸是一样的
我试图使用mplot3d绘制散点图,但散点法给了我一个值错误:“xs”和“ys”必须具有相同的大小。 当我打印它们的类型和尺寸时,它们看起来很完美。我不知道出了什么问题 以下是我的代码部分:Python 3.x 在mplot3d的scatter()上获取值时出错:参数xs和ys的大小必须相同。但是它们的尺寸是一样的,python-3.x,matplotlib,scatter-plot,mplot3d,valueerror,Python 3.x,Matplotlib,Scatter Plot,Mplot3d,Valueerror,我试图使用mplot3d绘制散点图,但散点法给了我一个值错误:“xs”和“ys”必须具有相同的大小。 当我打印它们的类型和尺寸时,它们看起来很完美。我不知道出了什么问题 以下是我的代码部分: “mat2”是已计算的512 X 4矩阵 mat2 = np.array(mat2) fig = plt.figure() ax = fig.add_subplot(111, projection='3d') co = [] xx = mat2[:,:1] yy = mat2[:,:2] z = mat
“mat2”是已计算的512 X 4矩阵
mat2 = np.array(mat2)
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
co = []
xx = mat2[:,:1]
yy = mat2[:,:2]
z = mat2[:,:3]
co = mat2[:,:4]
#printing the size and types of the arguments to the scatter()
print(str(len(xx))+str(type(xx))+' '+str(len(yy))+str(type(yy))+' '+str(len(z))+' '+str(len(co)))
ax.scatter(np.array(xx), np.array(yy), z=np.array(z), c=np.array(co), cmap=plt.hot())
这是我得到的输出的屏幕截图-
有什么帮助吗?
xx
和yy
大小不一样。您需要打印形状,而不是打印长度
print(xx.shape)
您将看到xx
的形状(512,1)
,yy
的形状(512,2)
。因此,yy
有两列,因此条目数是xx
的两倍
由于您似乎希望绘制mat2
第二列相对于第一列的散点,因此应创建xx
和yy
:
xx = mat2[:,0]
yy = mat2[:,1]
当然,对于其他数组,
z
和co
xx
和yy
的大小也不相同。您需要打印形状,而不是打印长度
print(xx.shape)
您将看到xx
的形状(512,1)
,yy
的形状(512,2)
。因此,yy
有两列,因此条目数是xx
的两倍
由于您似乎希望绘制mat2
第二列相对于第一列的散点,因此应创建xx
和yy
:
xx = mat2[:,0]
yy = mat2[:,1]
当然,对于其他数组
z
和co
也是如此。在查询错误时,您需要提供问题的详细信息。对不起。这里是新的。当询问错误时,您需要提供问题的详细信息。对不起。我是新来的。谢谢你的帮助。非常感谢。谢谢你的帮助。非常感谢。