我想让绘图具有相同的范围,以将它们绘制在同一张图中。因此,我需要按照thomas的建议在此处https://stackoverflow.com/a/55377604/7919440明确添加垃圾箱。两者都是numpy数组。
我的代码是这样:
plt.figure(figsize=(70,10))
for i,h in enumerate(clean_head):
plt.subplot(1,6,i+1)
a = non_fire[:,i]
b = fire[:,i]
bins = np.linspace(min(np.min(a), np.min(b)), max(np.max(a), np.max(b)), 10)
plt.hist(a,alpha=.3,bins=bins)
plt.hist(b,alpha=.3,bins=bins)
plt.title(clean_head[i])
但我收到此错误:
TypeError:无法使用灵活类型执行归约
我应该以某种方式更改其类型吗?
答案 0 :(得分:0)
已解决:问题是我不得不使用.astype(np.float)将np.array的数据类型更改为灵活类型,如下所示:
plt.figure(figsize=(70,10))
for i,h in enumerate(clean_head):
plt.subplot(1,6,i+1)
a = non_fire[:,i].astype(np.float)
b = fire[:,i].astype(np.float)
bins = np.linspace(min(np.min(a), np.min(b)), max(np.max(a), np.max(b)), 10)
plt.hist(a,alpha=.3,bins=bins)
plt.hist(b,alpha=.3,bins=bins)
plt.title(clean_head[i])
# plt.tight_layout()