我刚开始学习机器学习。我正在自学使用MATPLOTLIB进行数据可视化。我的代码非常简单。
- 它接受一个numpy数组(x = np.random.rand(1,100),形状为(1, 100))。
- 它将numpy数组x转换为y(y = np.sin(x))。
- 最后的任务是将其可视化为条形图(plt.bar(x, y, label=”BAR”, color=’r’)
但它抛出了值错误。尽管已经有了一些答案,但到目前为止对我来说似乎都不起作用。
在对这个问题的其中一个回答中 由unutbu
他解释说,这个错误是在“每当有人试图在布尔上下文中评估数组时”引发的。我无法理解我是如何将这些数组用作布尔值的?
我的代码:
import matplotlib.pyplot as pltimport numpy as np#参数是形状:1=行;100=列x = np.random.rand(1, 100)y = np.cos(x)#条形图plt.bar(x, y, label='Bars1', color='pink')#图例plt.legend()#显示图形plt.show()
回答:
你需要将
x = np.random.rand(1, 100)
替换为
x = np.random.rand(100)
原因是前者给你一个数组的数组(里面有一个数组,但总体上它仍然是一个1乘100的二维数组),而后者给你一个一维数组(长度为100)。为了使用plt
进行可视化,你需要后者。