Я строю три набора данных временных рядов с тремя отдельными осями Y.Проблема в том, что когда я сохраняю фигуру, третья ось Y выходит за пределы графика.Если я уменьшу положение par2.spines
, вторая и третья оси будут перекрываться.Когда я изменил размер фига, ось X испортилась.Есть ли простой способ исправить это?
for i in range(3,4):
fig = plt.figure(figsize=(18,5))
host = fig.add_subplot(111)
par1 = host.twinx()
par2 = host.twinx()
host.set_ylim(0, 20)
par1.set_ylim(0, 120)
par2.set_ylim(5,7.5)
host.set_ylabel("Temperature")
par1.set_ylabel("EC")
par2.set_ylabel("pH")
color1 = 'tomato'
color2 = 'blueviolet'
color3 = 'springgreen'
p1 = host.scatter(T.index,T.iloc[:,i], color=color1,label="Temperature")
p2 = par1.scatter(T.index, EC.iloc[:,i], color=color2, label="EC")
p3 = par2.scatter(T.index, pH.iloc[:,i], color=color3, label="pH")
lns = [p1, p2, p3]
host.legend(handles=lns, loc=1) # tar fra aksene
# right, left, top, bottom
par2.spines['right'].set_position(('outward', 40))
par2.yaxis.set_ticks_position('right')
host.yaxis.label.set_color(color1)
par1.yaxis.label.set_color(color2)
par2.yaxis.label.set_color(color3)
a=pH.columns[i]
host.set_title('Temperature, EC and pH for %s'%(a))
plt.show()
fig.savefig('TECpH%s'%(a))