Ontwerp Matplotlib Visualisaties voor Kleurenblind Toegankelijkheid
description
Helpt gebruikers visualisaties te maken die toegankelijk zijn voor mensen met kleurenzien beperkingen, wat communicatie en inclusiviteit verbetert. Deze prompt begeleidt je bij het toepassen van best practices voor kleurkeuze en ontwerp, waardoor je grafieken effectiever en breder begrijpelijk zijn dan standaard visualisaties.
prompt
Help me een Matplotlib visualisatie te ontwerpen voor mijn dataset: <beschrijf je dataset>. Ik wil dat het grafiektype <kies grafiektype> is. Pas kleurenpaletten en ontwerpprincipes toe die geschikt zijn voor k ...
try_prompt
generate_helper
disclaimerOnPageApi
tags
ai_answers
provider: openai
model: gpt-4.1-nano
Natuurlijk! Hier is een voorbeeld van Python-code voor een toegankelijke staafgrafiek met kleurenblind-vriendelijk palet en duidelijke labels, titels en legendeplaatsing. Je kunt je dataset aanpassen waar nodig.
```python
import matplotlib.pyplot as plt
import numpy as np
# Voorbeeldgegevens: vervang deze door jouw dataset
maanden = ['Jan', 'Feb', 'Mrt', 'Apr', 'Mei', 'Jun']
product_a = [150, 200, 250, 300, 280, 320]
product_b = [100, 150, 200, 220, 210, 250]
product_c = [80, 120, 160, 180, 170, 200]
product_d = [130, 170, 210, 240, 230, 290]
# Kleurenblind-vriendelijk palet (bijvoorbeeld: Color Universal Design)
kleuren = ['#E69F00', '#56B4E9', '#009E73', '#F0E442']
# Breedte van de staven
bar_width = 0.2
# Posities voor de groepen
x = np.arange(len(maanden))
x_a = x - 1.5 * bar_width
x_b = x - 0.5 * bar_width
x_c = x + 0.5 * bar_width
x_d = x + 1.5 * bar_width
# Plotten van de staafgrafiek
plt.figure(figsize=(10, 6))
plt.bar(x_a, product_a, width=bar_width, color=kleuren[0], label='Product A')
plt.bar(x_b, product_b, width=bar_width, color=kleuren[1], label='Product B')
plt.bar(x_c, product_c, width=bar_width, color=kleuren[2], label='Product C')
plt.bar(x_d, product_d, width=bar_width, color=kleuren[3], label='Product D')
# Labels en titel
plt.xlabel('Maand')
plt.ylabel('Verkoopcijfers')
plt.title('Maandelijkse verkoopcijfers per product')
# X-as labels
plt.xticks(x, maanden)
# Legende rechtsboven (standaard)
plt.legend(title='Producten', loc='upper right', frameon=False)
# Toegankelijkheid: extra contrast en duidelijke labels
plt.grid(axis='y', linestyle='--', alpha=0.7)
# Layout aanpassen voor betere visualisatie
plt.tight_layout()
# Grafiek tonen
plt.show()
```
Deze code gebruikt een kleurenblind-vriendelijk palet en plaatst de legend rechtsboven voor een overzichtelijke presentatie. Pas de datasets en labels aan naar jouw gegevens.
provider: deepseek
model: deepseek-chat
Hier is een direct uitvoerbare Python-code met een kleurenblindvriendelijke staafgrafiek:
```python
import matplotlib.pyplot as plt
import numpy as np
# Voorbeeld dataset - vervang dit met jouw eigen data
maanden = ['Jan', 'Feb', 'Mrt', 'Apr', 'Mei', 'Jun',
'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec']
producten = ['Product A', 'Product B', 'Product C', 'Product D']
# Voorbeeld verkoopcijfers (vervang met jouw eigen data)
verkoopcijfers = np.array([
[120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230], # Product A
[90, 95, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190], # Product B
[80, 85, 90, 95, 100, 105, 110, 115, 120, 125, 130, 135], # Product C
[70, 75, 80, 85, 90, 95, 100, 105, 110, 115, 120, 125] # Product D
])
# Kleurenblindvriendelijk palet (blauw, oranje, groen, rood)
kleuren = ['#0173B2', '#DE8F05', '#029E73', '#D55E00']
# Grafiek instellen
fig, ax = plt.subplots(figsize=(14, 8))
breedte = 0.2 # Breedte van de staven
x_posities = np.arange(len(maanden))
# Staafgrafiek maken voor elk product
for i, (product, kleur) in enumerate(zip(producten, kleuren)):
offset = breedte * i
ax.bar(x_posities + offset, verkoopcijfers[i], breedte,
label=product, color=kleur, edgecolor='white', linewidth=0.5)
# Grafiek opmaak
ax.set_xlabel('Maanden', fontsize=12, fontweight='bold')
ax.set_ylabel('Verkoopcijfers', fontsize=12, fontweight='bold')
ax.set_title('Maandelijkse Verkoopcijfers per Product', fontsize=16, fontweight='bold', pad=20)
ax.set_xticks(x_posities + breedte * 1.5)
ax.set_xticklabels(maanden, rotation=45, ha='right')
# Legende toevoegen (buiten het plotgebied)
ax.legend(bbox_to_anchor=(1.05, 1), loc='upper left', borderaxespad=0.)
# Raster toevoegen voor betere leesbaarheid
ax.grid(axis='y', alpha=0.3, linestyle='--')
ax.set_axisbelow(True)
# Y-as formatteren
ax.yaxis.set_major_formatter(plt.FuncFormatter(lambda x, p: f'{int(x):,}'))
# Ruimte aanpassen voor de legende
plt.tight_layout()
# Toon de grafiek
plt.show()
```
**Belangrijke aanpassingen voor toegankelijkheid:**
1. **Kleurenpalet**: Gebruikt het Color Universal Design (CUD) palet dat geschikt is voor alle vormen van kleurenblindheid
2. **Kleurencontrast**: Hoge contrastverhoudingen tussen de kleuren
3. **Legendeplaatsing**: Buiten het plotgebied voor betere leesbaarheid
4. **Grijslijnen**: Gebruikt stippellijnen in plaats van kleurafhankelijke lijnen
5. **Labelformattering**: Duidelijke, vetgedrukte labels en titels
6. **Data-annotatie**: Y-as heeft duidelijke numerieke formaten
**Om je eigen data te gebruiken:**
- Vervang de `verkoopcijfers` array met jouw eigen data
- Pas de `maanden` en `producten` lijsten aan naar jouw dataset
- De kleuren blijven geschikt voor kleurenblinden
Deze visualisatie voldoet aan WCAG-richtlijnen voor toegankelijkheid en is optimaal leesbaar voor mensen met kleurenzienstoornissen.