43

I am trying to plot two countplots showing the counts of batting and bowling. I tried the following code:

l=['batting_team','bowling_team']
for i in l:
    sns.countplot(high_scores[i])
    mlt.show()

But by using this , I am getting two plots one below the other. How can i make them order side by side?

Trenton McKinney
  • 56,955
  • 33
  • 144
  • 158
user517696
  • 2,472
  • 7
  • 24
  • 35

2 Answers2

92

Something like this:

import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt

batData = ['a','b','c','a','c']
bowlData = ['b','a','d','d','a']

df=pd.DataFrame()
df['batting']=batData
df['bowling']=bowlData


fig, ax =plt.subplots(1,2)
sns.countplot(df['batting'], ax=ax[0])
sns.countplot(df['bowling'], ax=ax[1])
fig.show()

enter image description here

The idea is to specify the subplots in the figure - there are numerous ways to do this but the above will work fine.

Robbie
  • 4,672
  • 1
  • 19
  • 24
5
import matplotlib.pyplot as plt
l=['batting_team', 'bowling_team']
figure, axes = plt.subplots(1, 2)
index = 0
for axis in axes:
  sns.countplot(high_scores[index])
  index = index+1
plt.show()
Pratik Kulkarni
  • 333
  • 3
  • 6
Ravi
  • 2,778
  • 2
  • 20
  • 32