1

I have this dataframe called "df_pressure":

    Ranking            Squad  Press  Succ  Succ%  Fail  Fail%
11        1  Manchester City   4254  1381   32.5  2873   67.5
10        2        Liverpool   5360  1731   32.3  3629   67.7
5         3          Chelsea   5533  1702   30.8  3831   69.2
16        4        Tottenham   5477  1523   27.8  3954   72.2
0         5          Arsenal   4772  1440   30.2  3332   69.8
12        6   Manchester Utd   5069  1462   28.8  3607   71.2
18        7         West Ham   4917  1372   27.9  3545   72.1
9         8   Leicester City   5982  1719   28.7  4263   71.3
3         9         Brighton   5670  1832   32.3  3838   67.7
19       10           Wolves   5529  1633   29.5  3896   70.5
13       11    Newcastle Utd   5430  1460   26.9  3970   73.1
6        12   Crystal Palace   6041  1809   29.9  4232   70.1
2        13        Brentford   5566  1609   28.9  3957   71.1
1        14      Aston Villa   5515  1524   27.6  3991   72.4
15       15      Southampton   5869  1806   30.8  4063   69.2
7        16          Everton   6346  1892   29.8  4454   70.2
8        17     Leeds United   7078  2118   29.9  4960   70.1
4        18          Burnley   5527  1499   27.1  4028   72.9
17       19          Watford   5730  1656   28.9  4074   71.1
14       20     Norwich City   6146  1570   25.5  4576   74.5

I then decided to create another dataframe for some columns only:

df_pressure_perc=df_pressure[['Squad','Succ%','Fail%']]
df_pressure_perc.reset_index(drop=True, inplace=True)
df_pressure_perc.set_index('Squad')
print(df_pressure_perc)

Output:
              Squad  Succ%  Fail%
0   Manchester City   32.5   67.5
1         Liverpool   32.3   67.7
2           Chelsea   30.8   69.2
3         Tottenham   27.8   72.2
4           Arsenal   30.2   69.8
5    Manchester Utd   28.8   71.2
6          West Ham   27.9   72.1
7    Leicester City   28.7   71.3
8          Brighton   32.3   67.7
9            Wolves   29.5   70.5
10    Newcastle Utd   26.9   73.1
11   Crystal Palace   29.9   70.1
12        Brentford   28.9   71.1
13      Aston Villa   27.6   72.4
14      Southampton   30.8   69.2
15          Everton   29.8   70.2
16     Leeds United   29.9   70.1
17          Burnley   27.1   72.9
18          Watford   28.9   71.1
19     Norwich City   25.5   74.5

Based on this new dataframe "df_pressure_perc", I decided to create a stacked barplot. Upon creating it with the following code: df_pressure_perc.plot(kind='barh', stacked=True, ylabel='Squad', colormap='tab10', figsize=(10, 6))
I realised my viz Y axis were not labelled in terms of the Squad names. Would like to seek some advice on how I can reflect the Y axis in Squad names instead of 0-19.
Visualization(stacked barplot)

Jun Jie
  • 11
  • 2
  • 2
    You didn't actually set Squad as your index. Use `df_pressure_perc.set_index('Squad').plot(kind='barh', stacked=True, colormap='tab10', figsize=(10, 6))`. – Henry Yik Oct 03 '22 at 09:33

0 Answers0