[英]How to iterate axes in matplotlib subplots
我正在嘗試使用 matplotlib 為 5x2 子圖添加標題,我編寫的代碼如下:
fig, axs = plt.subplots(5, 2, figsize=(2*len(cols)+1, 2*len(rows)+1))
for i, ax in axs.flat:
# print(sum_cols_level[i])
ax.set_title(cols_level[i])
當我運行這個得到這個錯誤
類型錯誤:無法解包不可迭代的 AxesSubplot 對象
cols_level 是一個包含數字列表的列表 [1,2,3,4.. 等]
我也試過
for i, ax in enumerate(axs.flat):
並得到這個錯誤;
索引錯誤:索引 9 超出軸 0 的范圍,大小為 9
我真的很感激有人可以解釋 ax 是如何工作的以及為什么我會收到這些錯誤!
正確的解決方案實際上取決於cols_level
是什么。 不過,問題似乎是您試圖解壓縮 1D numpy flatiter,因為它是 2D。 忘記使用enumerate
?
fig, axs = plt.subplots(2, 2, figsize=(6,8))
cols_level = [f'ax_{i}' for i in range(len(axs.flat))]
for i, ax in enumerate(axs.flat):
ax.set_title(cols_level[i])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.