creating stacked histogram with pandas dataframes data python
Asked Answered
F

1

17

I am trying to create a stacked histogram with data from 2 or more uneven pandas dataframes? So far I can get them to graph on top of each other but not stack.

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv('dert.csv', encoding = "ISO-8859-1", index_col=0)

df1['text'] = df['text'].dropna(subset=['five'])
df2['printed'] = df['text2']
ax = df1['text'].hist( bins=100, range=(1,100), stacked=True, color = 'r')
ax = df2['printed'].hist(bins=100, range=(1,100), stacked=True, color = 'g')

plt.setp(ax.get_xticklabels(),  rotation=45)
plt.show()

How do I get them to stack?

I found a solution but it does not use pandas dataframes Matplotlib, creating stacked histogram from three unequal length arrays

Fulani answered 6/7, 2014 at 9:36 Comment(1)
Have you tried using the same method as that link you posted? Using regular matplotlib, just passing the DataFrame columns you want to plot, should work. At most, you can create a list of each column's values.Ritenuto
B
28

The method in that post should work:

plt.hist([df1['text'],df2['printed']],
          bins=100, range=(1,100), stacked=True, color = ['r','g'])
Beginner answered 6/7, 2014 at 15:26 Comment(1)
Be sure to remove nan's before using this.Diophantus

© 2022 - 2024 — McMap. All rights reserved.