Попытка создать составную диаграмму на основе данных - PullRequest
0 голосов
/ 06 декабря 2018

Я пытаюсь создать столбчатую диаграмму с накоплением, показывающую общее количество браков по месяцам за каждый год между 2008 и 2015 годами.

import pandas as pd
import numpy as np
import io
import requests
import matplotlib.pyplot as plt
from matplotlib.colors import ListedColormap
url = "https://data.code4sa.org/api/views/r4bb-fvka/rows.csv"
file=requests.get(url).content
c=pd.read_csv(io.StringIO(file.decode('utf-8')))

Здесь я добавляю общее количество браков за каждый год, затем группирую пои Год брака, и месяц, чтобы иметь общее количество браков за каждый месяц

c['Total'] = c['MarriageYear']
months = c.groupby(['MarriageYear','MarriageMonth'])['Total'].count()

Я думаю, что индекс должен быть и Годом брака, и месяцем брака, так как я хочу общее количество браков за каждый месяц каждого года???

months.set_index(['MarriageYear','MarriageMonth'])\
      .reindex(months.set_index('MarriageMonth').sum().sort_values().index, axis=1)\
      .T.plot(kind='bar', stacked=True,
              colormap=ListedColormap(sns.color_palette("GnBu", 10)), 
              figsize=(24,28))

Если вы опубликуете какие-либо потенциальные решения или то, на что мне следует обратить внимание, пожалуйста, объясните, почему / где я ошибся и как я должен подходить к этому

1 Ответ

0 голосов
/ 06 декабря 2018

Попробуйте это:

c.groupby(['MarriageYear', 'MarriageMonth']).size() \
 .unstack().plot.bar(stacked=True, colormap='GnBu', figsize=(12, 14))

enter image description here

...