【问题标题】:Data Visulization : Matplotlib and Numpy throwing value error数据可视化:Matplotlib 和 Numpy 抛出值错误
【发布时间】:2017-11-29 00:09:13
【问题描述】:

我是机器学习的新手。我正在用 MATPLOTLIB 自学数据可视化。我的代码很简单。

  1. 它需要一个形状=(1, 100)的 numpy 数组 (x = np.random.rand(1,100))。
  2. 它将 numpy 数组 x 转换为 y(y = np.sin(x))。
  3. 最后的任务是在 BAR 中可视化它(plt.bar(x, y, label="BAR", color='r'))

但它抛出 VALUE ERROR。尽管已经有这个问题的答案,但到目前为止似乎没有一个对我有用。

在这个问题的一个答案By unutbu

他解释说“每当尝试在布尔上下文中评估数组时”都会引发此错误。 我无法理解我如何将这些数组用作布尔值?

我的密码

import matplotlib.pyplot as plt
import numpy as np

#arguments are shape: 1=row; 100=columns
x = np.random.rand(1, 100)
y = np.cos(x)

#bars
plt.bar(x, y, label='Bars1', color='pink')

#legends
plt.legend()

#show the figure
plt.show()

【问题讨论】:

    标签: python numpy matplotlib machine-learning


    【解决方案1】:

    你需要更换

    x = np.random.rand(1, 100)
    

    x = np.random.rand(100)
    

    原因是前者给了你一个数组数组(里面有一个数组,但它仍然是一个整体的二维数组,维度为 1×100),而后者给你一个一维数组(长度为 100 )。为了用plt 可视化它,你需要后者。

    【讨论】:

    • 但如果 x 是总体大小为 1×100 的 2d 数组,则意味着 y 也具有相同的维度。那为什么会出现这个错误呢?
    • 如果要使用 plt,x 不能是二维数组,可以看这里:matplotlib.org/api/pyplot_api.html
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-28
    • 2018-04-13
    • 2017-04-05
    • 2015-09-23
    • 2021-05-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多