Ok, eu acabei de escrever um artigo falando para que você não utilize gráficos com dois eixos-y. Esse uso é desonesto, leva o leitor a interpretar de forma equivocada os dados. Se quiser entender melhor, leia o post O Problema com Dois Eixos-Y. Mas vamos supor que seu chefe mande você fazer isso, ele não se importa com esses problemas. Eu vou te deixar na mão? Claro que não. Abaixo, você encontra os códigos que utilizei para gerar os gráficos do post anterior.
Primeiro, um gráfico simples em matplotlib:
import matplotlib.pyplot as plt plt.plot([5103020100, 5473080100, 4003020100, 6053340120, 8104020150], label='Country X') plt.plot([10300100, 17300100, 20300100, 20534020, 32040010], label='City Y') plt.legend() plt.show()
Agora, o mesmo gráfico, mas com dois eixos-y:
import matplotlib.pyplot as plt data1 = [5103020100, 5473080100, 4003020100, 6053340120, 8104020150] data2 = [10300100, 17300100, 20300100, 20534020, 32040010] fig, ax1 = plt.subplots() color = 'tab:blue' ax1.set_xlabel('time (s)') ax1.set_ylabel('GDP Country X (trillion)', color=color) ax1.plot(data1, color=color) ax1.tick_params(axis='y', labelcolor=color) ax2 = ax1.twinx() color = 'tab:orange' ax2.set_ylabel('GDP City Y (million)', color=color) ax2.plot(data2, color=color) ax2.tick_params(axis='y', labelcolor=color) fig.tight_layout() plt.legend() plt.show()
Outro gráfico com dois eixos-y:
import matplotlib.pyplot as plt data1 = [5103020100, 5373080100, 5403020100, 5653340120, 5704020150] data2 = [10300100, 17300100, 20300100, 26534020, 30040010] fig, ax1 = plt.subplots() color = 'tab:red' ax1.set_xlabel('time (s)') ax1.set_ylabel('GDP Country W (trillion)', color=color) ax1.plot(data1, color=color) ax1.tick_params(axis='y', labelcolor=color) ax2 = ax1.twinx() color = 'tab:green' ax2.set_ylabel('GDP City Z (million)', color=color) ax2.plot(data2,color=color) ax2.tick_params(axis='y', labelcolor=color) fig.tight_layout() plt.legend() plt.show()
Para brincar com as escalas dos eixos y, inclua o set_ylim:
import matplotlib.pyplot as plt data1 = [5103020100, 5373080100, 5403020100, 5653340120, 5704020150] data2 = [10300100, 17300100, 20300100, 26534020, 30040010] fig, ax1 = plt.subplots() color = 'tab:red' ax1.set_xlabel('time (s)') ax1.set_ylim(5102020100, 5704020155) ax1.set_ylabel('GDP Country W (trillion)', color=color) ax1.plot(data1, color=color) ax1.tick_params(axis='y', labelcolor=color) ax2 = ax1.twinx() color = 'tab:green' ax2.set_ylabel('GDP City Z (million)', color=color) ax2.set_ylim(1300100, 100040010) ax2.plot(data2,color=color) ax2.tick_params(axis='y', labelcolor=color) fig.tight_layout() plt.legend() plt.show()
Excelente explanação!!!
Valeu, Alfredo!!!!
Obrigado.
Ajudou bastante.