Я создаю несколько горизонтальных столбчатых диаграмм на фигуре с использованием вспомогательных участков:
fig, axs = plt.subplots(1, len(kwargs), figsize=figsize, frameon = False)
subplot = 0
for key, value in kwargs.items():
leftCordinate = 0
for i in range(len(value)): ##value=[10,15,20]
axs[subplot].barh([0], value[i], left = leftCordinate, color=colors[i])
leftCordinate += value[i]
axs[subplot].axis('off')
subplot += 1
Проблема в том, что при len(kwargs)=1
возникает ошибка ниже:
Exception has occurred: TypeError
'AxesSubplot' object is not subscriptable
После исследования Я нашел ниже 3 решения:
fig, axs = plt.subplots(1, len(kwargs), figsize=figsize, frameon = False, squeeze = False)
axs = axs.T.flatten()
if type(axs)!=np.ndarray : # Happens if nrows=ncols=1
axs = np.array([[axs]])
Я перепробовал все, но ни одно из решений не помогло мне. Есть ли другое решение или мне нужно написать отдельный код для моего особого случая len(kwargs)=1
?