Ось Matplotlib с двумя шкалами общего происхождения

Мне нужно два наложения двух наборов данных с разными масштабами оси Y -в Matplotlib. Данные содержат как положительные, так и отрицательные значения. Я хочу, чтобы две оси имели одно начало, но Matplotlib по умолчанию не выравнивает две шкалы.

import numpy as np
import matplotlib.pyplot as plt

fig = plt.figure()
ax1 = fig.add_subplot(111)
ax2 = ax1.twinx()

ax1.bar(range(6), (2, -2, 1, 0, 0, 0))
ax2.plot(range(6), (0, 2, 8, -2, 0, 0))
plt.show()

Я полагаю, что можно выполнить некоторые вычисления с .get_ylim()и .set_ylim()два выравнивания двух масштабов. Есть ли более простое решение?

Output from the sample above

23
задан lyschoening 7 May 2012 в 12:21
поделиться