Я хотел бы сделать диаграмму гистограммы, подобную этой, с любым модулем Python, с которым я могу взаимодействовать с matplotlib:
Ниже приведен пример данных и объяснение того, что я могу сделать на данный момент:
import pandas
from io import StringIO
text="""
Name 1980 1982
A Administration Budget
B Administration Administration
C Administration Administration
D Administration Budget
E Administration Budget
F Administration Administration
G Administration Administration
H Administration Administration
"""
data=pandas.read_fwf(StringIO(text),header=1).set_index("Name")
count=pandas.DataFrame(index=["Administration","Budget"])
for col in data.columns:
count[col]=data[col].value_counts()
count.T.plot(kind="bar",stacked=True)
Когда я рисую count
, я получаю следующую гистограмму с накоплением:
Я также могу получить число людей, перешедших в период с 1980 по 1982 год из административного отдела в бюджетный, выполнив
pandas.crosstab(data["1980"],data["1982"])
который дает:
1982 Administration Budget
1980
Administration 5 3
Однако я не знаю, как рисовать потоки между каждой частью гистограммы. Кто-нибудь знает, как?