【问题标题】:What am I doing wrong when trying to plot two numpy arrays?尝试绘制两个 numpy 数组时我做错了什么?
【发布时间】:2020-07-01 16:47:44
【问题描述】:

我正在尝试绘制: xyax.loglog 绘图上的值,但收到以下错误:

ValueError: x and y must have same first dimension, but have shapes (4000,) and (1,)

我有一个名为 holders 的 numpy 数组列表,其中:

len(holders[0]) == 4000
holders[0].shape == (4000,)
type(holders[0]) == <class 'numpy.ndarray'>

我有一个名为 fax 的频率区间的 numpy 数组,其中:

len(fax) == 4000
fax.shape == (4000,)
type(fax) == <class 'numpy.ndarray'>

当我去剧情时:

for i,j in enumerate(holders):
    ax.loglog(fax, j[i])

plt.show()

【问题讨论】:

  • for i,j in enumerate(holders) -> j[i] 是一个数据点,不是吗?完整的 j 将是列表中的一个 numpy 数组?那么,也许你想要 holder[i] 而不是 j[i]?
  • @Shushiro 做到了!愚蠢的错误,谢谢!

标签: python-3.x numpy matplotlib numpy-ndarray


【解决方案1】:

使用 holder[i] 代替 for 循环中的 j[i]。

j[i] 是一个数据点,因为 j 是数组列表中的一个 numpy 数组。要访问 numpy 数组,您需要 holder[i]。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-22
    • 1970-01-01
    • 2011-06-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多