Я запускаю ax1 и делаю несколько осей с помощью ax1.twinx (). Однако, когда я создаю 3 оси, fig.axes выводит 6 объектов осей, а когда я создаю 4 оси, выводится 8 объектов. Это почему? Мой код ниже.
import matplotlib.pyplot as plt
color_lst = ["tab:blue", "tab:orange", "tab:green", "tab:red", "tab:purple", "tab:brown", "tab:pink", "tab:gray", "tab:olive", "tab:cyan"]
fig, ax1 = plt.subplots()
plt.xlabel("Run number")
color = color_lst[0]
ax1.plot(range(len(data_arr[0])), data_arr[0], label = param_names[0], color = color)
ax1.set_ylabel(param_names[0])
ax1.yaxis.label.set_color(color)
ax1.spines["right"].set_edgecolor(color)
ax1.tick_params(axis='y', colors=color)
ax_lst = [ax1.twinx() for i in range(len(data_arr))]
i=0
for ax in ax_lst[1:]:
i+=1
color = color_lst[i]
ax = ax1.twinx()
ax.plot(range(len(data_arr[i])), data_arr[i], label = param_names[i], color = color)
ax.set_ylabel(param_names[i])
ax.spines["right"].set_position(("outward", (i-1)*80)) #Setting axis position offset
#Coloring all parts of the axes
ax.spines["right"].set_edgecolor(color)
ax.yaxis.label.set_color(color)
ax.tick_params(axis='y', colors=color)
print("AX LIST: " + str(fig.axes))
comp_ax_lst = fig.axes
comp_ax_lst[1].remove()
Что побудило меня задать этот вопрос, так это то, что я не могу удалить черную правую ось Y, идущую от 0 до 1 на следующем графике, который сделан с использованием кода выше. Фигурка со странной черной правой осью
С уважением