我不是在研究如何可视化多维数据,而是在研究当输入多维数据时 pyplot 到底会做什么?作为一个例子,考虑这个简单的代码:import matplotlib.pyplot as pltimport numpy as npX = np.array([[1,2,3],[4,3,2],[0,2,4]])Y = np.array([1,2,3]).reshape(-1,1)plt.plot(X, Y, 'ro', alpha=0.3)X 是 3x3 数组,Y 是 3x1 数组。我最初认为发生的是 Y 将被重复以匹配 X 的尺寸。也就是说,将生成 3 个散点图,即 X[0] vs Y、X[1] vs Y 和 X[2] vs Y,并且所有三个散点图都将叠加在同一 x 轴上。但从下面的输出来看,如果我的假设是正确的,X[2] 与 Y 图中的 (0,1) 处会有一个点,但没有。请大家帮帮我。
1 回答
郎朗坤
TA贡献1921条经验 获得超9个赞
您可以通过删除标记的颜色说明符来解释结果:
import matplotlib.pyplot as plt
import numpy as np
X = np.array([[1,2,3],[4,3,2],[0,2,4]])
Y = np.array([1,2,3]).reshape(-1,1)
plt.plot(X, Y, 'o', alpha=0.3)
这将产生下图。我们看到蓝点是通过Y坐标和每个数组的第一个元素X(即X[:, 0])获得的,依此类推。
plt.plot
类似的事情也是如此
for x in X.T: # .T for transposing the array plt.plot(x, Y, 'o', alpha=0.3)
添加回答
举报
0/150
提交
取消