python plt绘制柱状图时遇到的 only size-1 arrays can be converted to Python scalars 报错解决方案

此问题故名思意,格式不对。
出现此次报错时,想要实现的操作为,读入一个大小为(10,1)的npy文件,将其绘制为柱状图,代码如下:

size=10
maxo_0=np.load("a.npy")
x=np.arange(size)
lns1,= plt.bar(x, maxo_0, width=width,facecolor='firebrick', label="raw_max")

首先将maxo_0格式转为-1,代码如下:

max_0=np.array(max_0.reshape((10)))

报错 ValueError: too many values to unpack (expected 1)
经过试验,将逗号去掉,结果显示正常。
逗号加入最开始是为了画图例来着,

    lns = [lns1, lns2, ]
    labels = ["raw_max", "w_10_max"]
    plt.legend(lns, labels, loc=7)

改成下面的代码也能用

    lns = lns1+lns2
    labels = ["raw_mean", "w_10_mean"]
    plt.legend(lns, labels, loc=7)

你可能感兴趣的:(python)