Sometime, DataFrame.plot()
inside a for
loop produces multiple charts.
import pandas as pd
data = {'Str': ['A', 'A', 'B', 'B'], 'Num': [i for i in range(4)]}
df = pd.DataFrame(data)
for n in ['A', 'B']:
df[df.Str == n].plot(kind='bar')
But sometimes, it produces a single chart.
import pandas as pd
data = {'C1': ['A', 'A', 'B', 'B'],
'C2': [i for i in range(4)],
'C3': [1,2,1,2]}
df = pd.DataFrame(data)
for n in [1,2]:
df[df.C3 == n].groupby('C1').C2.sum().plot(kind='bar')
From the previous code, if plt.show()
was added at the end of the loop. It will produce multiple charts.
import pandas as pd
import matplotlib.pyplot as plt
data = {'C1': ['A', 'A', 'B', 'B'],
'C2': [i for i in range(4)],
'C3': [1,2,1,2]}
df = pd.DataFrame(data)
for n in [1,2]:
df[df.C3 == n].groupby('C1').C2.sum().plot(kind='bar')
plt.show()
I don’t want to use plt.show()
. Actually I want to import
only pandas
and create multiple charts using a for
loop.