Создайте составную гистограмму в Python из группировки на основе мультииндекса.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Создайте составную гистограмму в Python из группировки на основе мультииндекса.

Сообщение Anonymous »

Я хотел бы создать составную гистограмму (в идеале в seaborn), но с удовольствием использую встроенные функции построения графиков pandas. Позвольте мне представить некоторые тестовые данные, чтобы прояснить ситуацию.

Код: Выделить всё

In [353]: import pandas as pd

In [354]: import seaborn as sns

In [355]: df = pd.DataFrame({"Cat":["A", "B","A","B","A","B","A","B","C"], "Time":[0,0,1,1,0,0,1,1,1], "ID":[0,0,0,0,1,1,1,1,1]})

In [356]: df
Out[356]:
Cat  Time  ID
0   A     0   0
1   B     0   0
2   A     1   0
3   B     1   0
4   A     0   1
5   B     0   1
6   A     1   1
7   B     1   1
8   C     1   1

In [357]: df.groupby(["ID","Cat"]).count()
Out[357]:
Time
ID Cat
0  A       2
B       2
1  A       2
B       2
C       1

In [358]:
Я хотел бы видеть здесь по оси X идентификатор, а по оси Y я получаю счетчик (столбец «Время»), сложенный по переменной Cat, например. для идентификатора 1 я хочу видеть сложенную цветную полосу с размерами 2, 2 и 1. Я пробовал следующее, но безуспешно:

Код: Выделить всё

df.groupby(["ID","Cat"]).count().plot(kind="bar", stacked=True, x="ID")
похоже, что он не может работать с многоосью. Любая помощь очень ценится!
РЕДАКТИРОВАТЬ
Это РЕДАКТИРОВАНИЕ призвано добавить мне проблем. У меня возникла проблема с размещением легенбокса за пределами окна построения графиков. Настоящий код, который я использую

Код: Выделить всё

p = so.Plot(df.astype({"Time": "category"}),x='Time', color='Category').add(so.Bar(), so.Count(), so.Stack())
fig, ax = plt.subplots(figsize=(2560/120, 1335/120))
today = dt.datetime.today().strftime("%Y%m%d")
plt.grid()
p.on(ax).save(f"{today}_barchart_sources_{c}.png")
plt.close()
Изображение


Подробнее здесь: https://stackoverflow.com/questions/791 ... ulti-index
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Создайте составную гистограмму в Python из группировки на основе мультииндекса.
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Как сгруппировать данные и построить составную гистограмму с помощью C# и Blazor ApexCharts?
    Гость » » в форуме C#
    0 Ответы
    68 Просмотры
    Последнее сообщение Гость
  • Как отсортировать составную гистограмму
    Anonymous » » в форуме Python
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Как отсортировать составную гистограмму
    Anonymous » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Как отсортировать составную гистограмму
    Anonymous » » в форуме Python
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»