为了账号安全,请及时绑定邮箱和手机立即绑定

matplotlib.pyplot 中如何处理多维数据?

matplotlib.pyplot 中如何处理多维数据?

慕田峪4524236 2023-09-05 15:30:33
我不是在研究如何可视化多维数据,而是在研究当输入多维数据时 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])获得的,依此类推。

https://img1.sycdn.imooc.com//64f6d9a70001036105680425.jpg

plt.plot类似的事情也是如此

for x in X.T:  # .T for transposing the array
    plt.plot(x, Y, 'o', alpha=0.3)


查看完整回答
反对 回复 2023-09-05
  • 1 回答
  • 0 关注
  • 101 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信