Я пытаюсь пересечь линейный график на горизонтальной полосе в пандах.
Имея такую структуру данных
data = pd.DataFrame(np.random.randint(0,100,size=(10, 4)), columns=list('ABCD'))
Я могу наложить сюжет на планку, например:
ax = data[['A','B','C']].plot(kind='bar', stacked=True)
data['D'].plot(color='k',ax=ax)
с этим результатом
Но когда я пытаюсь использовать горизонтальный штрих-план
ax = data['D'].plot(color='k')
data[['A','B','C']].plot(kind='barh', stacked=True, ax=ax)
У меня такой результат
Как я могу перевернуть график линии, чтобы он был согласован с графиком barh =
Спасибо за любой намек!
Вы можете сбросить индекс и график следующим образом. Здесь я использую значения столбца D
как значения x и index
(диапазон значений) как значения y. С помощью функции reset_index()
вы добавляете столбец индекса, который упрощает использование y='index'
для вашей цели построения.
import pandas as pd
data = pd.DataFrame(np.random.randint(0,100,size=(10, 4)), columns=list('ABCD')).reset_index()
ax = data.plot(x='D', y='index', color='k', legend=False)
data[['A','B','C']].plot(kind='barh', stacked=True, ax=ax)
Выход