Take a look at
clustered chart in python using matplot lib - Google Search[
^] for some suggestions.
[edit]
The first link in that Google search has the following (modified) code:
import matplotlib.pyplot as plt
import numpy as np
region = ("East", "North", "South", "West")
city = {
'Albany': (10.0, 8.0, 2.0, 3.0),
'Concord': (9.0, 10.0, 5.0, 16.0),
'Santa Fe': (1.0, 7.0, 5.0, 8.0),
'Trenton': (6.0, 0.0, 6.0, 6.0),
}
x = np.arange(len(region))
width = 0.25
multiplier = 0
fig, ax = plt.subplots(layout='constrained')
for attribute, measurement in city.items():
offset = width * multiplier
rects = ax.bar(x + offset, measurement, width, label=attribute)
ax.bar_label(rects, padding=3)
multiplier += 1
ax.set_ylabel('City')
ax.set_title('Region')
ax.set_xticks(x + width, region)
ax.legend(loc='upper left', ncols=3)
ax.set_ylim(0, 25)
plt.show()
That produces a nice coloured plot.
[/edit]