Matplotlib - общий источник для двойной оси без данных резки

Я хочу построить временной ряд на двойной оси y с помощью matplotlib и изменить масштаб оси так, чтобы начало координат (y=0) было выровнено для обеих осей.

Я посмотрел на этот вопрос, но предлагаемые решения могут вырезать некоторые данные из сюжета.

Например:

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

np.random.seed(1)
df = pd.DataFrame(np.random.randn(100, 3), columns=['A', 'B', 'C']).cumsum()
df['Total'] = df[['A', 'B', 'C']].sum(1)

fig, ax = plt.subplots(1)
df.drop('Total', axis=1).plot(ax=ax)
ax2 = ax.twinx()
df['Total'].plot(ax=ax2, color='k', linestyle='--')

введите описание изображения здесь

Используя решение @drevicko (по ссылке выше), я получаю диаграмму ниже. Начальная точка для двух осей теперь выровнена, но часть зеленой линии оставлена ​​вне графика.

Как я могу выровнять источник и оставить все данные в рамке графика?

введите описание изображения здесь

0 ответов

Другие вопросы по тегам