Home > Mobile >  How to rotate data labels in matplotlib bar charts by 90 degrees?
How to rotate data labels in matplotlib bar charts by 90 degrees?

Time:02-26

I'm using something like this for bar charts with data labels (actual value of each bar) on the outside of each bar:

import matplotlib.pyplot as plt
import numpy as np


labels = ['G1', 'G2', 'G3', 'G4', 'G5']
men_means = [20, 34, 30, 35, 27]
women_means = [25, 32, 34, 20, 25]

x = np.arange(len(labels))  # the label locations
width = 0.35  # the width of the bars

fig, ax = plt.subplots()
rects1 = ax.bar(x - width/2, men_means, width, label='Men')
rects2 = ax.bar(x   width/2, women_means, width, label='Women')

# Add some text for labels, title and custom x-axis tick labels, etc.
ax.set_ylabel('Scores')
ax.set_title('Scores by group and gender')
ax.set_xticks(x, labels)
ax.legend()

ax.bar_label(rects1, padding=3)
ax.bar_label(rects2, padding=3)

fig.tight_layout()

plt.show()

The result looks like this:

enter image description here

How can I rotate the data labels at the top of each bar by 90 degrees? I'm not asking about xtick labels.

CodePudding user response:

  • Related