Congratulations on sharing your first guided project here. This project looks great.
Though I was thinking that the introduction could have been a bit more detailed. Also, the aim is not just limited to STEM fields alone as we are analysing other subjects as well.
You have used some smart logic to create this plot.
# remove all the spines
for key, spine in ax.spines.items():
Instead of this you can also use
for spine in ax.spines.values():
Also, the below code
# Remove the tick marks and labels for all plots
# Retain the tick label only for the last plot of each category
ax.tick_params(bottom='off', top='off', left='off', right='off', labelbottom='off')
if (int(sp/3)+1 == len(stem_cats)) or (int(sp/3)+1 == len(lib_arts_cats)) or (int(sp/3)+1 == len(other_cats)):
The logic becomes
True for sp=13 and 15 as well which you don’t want. That is why you are getting an additional bottom labels on the penultimate plots in STEM and Other categories.
Maybe you need to have a second look at the
Other than that everything looks great. The conclusion part is also done nicely. Altogether a great work.
I hope this review was useful. Happy learning.