Bar Chart

Skill Meter Bars

Progress-style bars with percentage tracks.

Output
Skill Meter Bars
Python
import matplotlib.pyplot as plt
import numpy as np

COLORS = {
    'bars': ['#6366F1', '#8B5CF6', '#A855F7', '#C084FC', '#D8B4FE'],
    'background': '#FFFFFF',
    'text': '#1E293B',
    'text_muted': '#64748B',
}

categories = ['Speed', 'Power', 'Agility', 'Defense', 'Stamina']
values = [85, 72, 90, 65, 78]

fig, ax = plt.subplots(figsize=(8, 6), dpi=100)
ax.set_facecolor(COLORS['background'])
fig.patch.set_facecolor(COLORS['background'])

y = np.arange(len(categories))

for i, (v, c) in enumerate(zip(values, COLORS['bars'])):
    # Background track
    ax.barh(i, 100, height=0.6, color='#F1F5F9', zorder=1)
    # Value bar
    ax.barh(i, v, height=0.6, color=c, alpha=0.85, edgecolor='white', linewidth=2, zorder=2)
    # Percentage inside
    ax.text(v - 5, i, f'{v}%', ha='right', va='center', fontsize=10,
            fontweight='bold', color='white', zorder=3)

ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
ax.spines['left'].set_visible(False)
ax.spines['bottom'].set_visible(False)

ax.tick_params(left=False, bottom=False, labelbottom=False)
ax.tick_params(axis='y', colors=COLORS['text'], labelsize=10, pad=10)
ax.set_yticks(y)
ax.set_yticklabels(categories)
ax.set_xlim(0, 100)

plt.tight_layout()
plt.show()
Library

Matplotlib

Category

Basic Charts

Did this help you?

Support PyLucid to keep it free & growing

Support