Наложение линейного графика на горизонтальный линейный график в пандах - PullRequest
0 голосов
/ 20 сентября 2018

Я пытаюсь наложить линейный график на горизонтальный столбчатый график в пандах.

Имея такой фрейм данных

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)

У меня есть этот результат

График на графике барха

Как мне перевернуть линейный график, чтобы он был согласован с графиком Барха =

Спасибо за любую подсказку!

1 Ответ

0 голосов
/ 20 сентября 2018

Вы можете сбросить индекс и график следующим образом.Здесь я использую значения столбца 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)

Вывод

enter image description here

...