Наложение линейного графика на горизонтальный линейный график в пандах

1

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

Имея такую структуру данных

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 =

Спасибо за любой намек!

Теги:
pandas
bar-chart
plot

1 ответ

1
Лучший ответ

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

Выход

Изображение 174551

Ещё вопросы

Сообщество Overcoder
Наверх
Меню