I am looking to align the numbers on my stack-bar chart (Preferably on the center). However, it appears that the placement of all the values are disoriented.
Below is sample of my code.
Can someone please help me with this.
Thank you.
# function to add value labels for bar chart
def addlabels(x, y):
for i in range(len(x)):
plt.text(i, y[i], y[i], ha = 'center')
x = ["Entry Level", "Non-Executive", "Junior Executive", "Senior Executive", "Manager", "Senior Manager", "Non Specified"]
show_phd = np.array([count_entry_phd, count_ne_phd, count_je_phd, count_se_phd, count_m_phd, count_sm_phd, count_ns_phd])
show_masters = np.array([count_entry_masters, count_ne_masters, count_je_masters, count_se_masters, count_m_masters, count_sm_masters, count_ns_masters])
show_bachelor = np.array([count_entry_bachelor, count_ne_bachelor, count_je_bachelor, count_se_bachelor, count_m_bachelor, count_sm_bachelor, count_ns_bachelor])
show_diploma = np.array([count_entry_diploma, count_ne_diploma, count_je_diploma, count_se_diploma, count_m_diploma, count_sm_diploma, count_ns_bachelor])
show_ni = np.array([count_entry_ni, count_ne_ni, count_je_ni, count_se_ni, count_m_ni, count_sm_ni, count_ns_ni])
fig = plt.figure(figsize=(10, 6))
plt.bar(x, show_phd, 0.2, label="PhD", color=['#EE837C'])
addlabels(x, show_phd)
plt.bar(x, show_masters, 0.2, bottom=show_phd, label="Masters", color=['#EBE882'])
addlabels(x, show_masters)
plt.bar(x, show_bachelor, 0.2, bottom=show_phd + show_masters, label="Bachelor", color ['#97F5CA'])
addlabels(x, show_bachelor)
plt.bar(x, show_diploma, 0.2, bottom=show_phd + show_masters + show_bachelor, label="Diploma", color=['#64EAF5'])
addlabels(x, show_diploma)
plt.bar(x, show_ni, 0.2, bottom=show_phd + show_masters + show_bachelor + show_diploma, label="Nitec", color=['#F0CE8C'])
addlabels(x, show_ni)
....