Подтвердить что ты не робот

Вторая метка оси Y обрезается

Я пытаюсь построить два набора данных в гистограмме с matplotlib, поэтому я использую две оси с помощью метода twinx(). Однако вторая метка оси Y отключается. Я пробовал несколько разных методов без успеха (tight_layout(), установка major_pad в rcParams и т.д.). Я чувствую, что решение простое, но я еще не сталкивался с этим.

Здесь MWE:

#!/usr/bin/env python
import numpy as np
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt

matplotlib.rcParams.update({'font.size': 21})
ax = plt.gca()
plt.ylabel('Data1') #Left side
ax2 = ax.twinx()
for i in range(10):
  if(i%2==0):
    ax.bar(i,np.random.randint(10))
  else:
    ax2.bar(i,np.random.randint(1000),color='k')


plt.ylabel('Data2') #Right

сторона plt.savefig( "test.png" )

Sample graph with Data2 cut off

4b9b3361

Ответ 1

Я только что понял: трюк заключается в использовании bbox_inches='tight' в savefig.

например. plt.savefig("test.png",bbox_inches='tight')

fixed now