Maak Matplotlib Visualisaties met Aangepaste Data Transformaties
description
Met deze prompt kun je Matplotlib visualisaties verbeteren door datavoorbewerkingsstappen zoals normalisatie en aggregatie direct in de plotcode te integreren. Dit maakt inzichten helderder en visualisaties nauwkeuriger voor complexe datasets. Het bespaart tijd door transformatie en visualisatie in één geautomatiseerd script te combineren en biedt aanpassingsmogelijkheden die aansluiten bij jouw voorkeuren.
prompt
Help me een Matplotlib visualisatie te maken voor mijn dataset: <beschrijf je dataset>. Ik wil de volgende datatransformaties toepassen vóór het plotten: <specificeer transformaties zoals normalisatie, schaalverdeling, aggregatie>. Het type grafiek ...
try_prompt
generate_helper
disclaimerOnPageApi
tags
ai_answers
provider: openai
model: gpt-4.1-nano
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# Stel dat je dataset in een DataFrame genaamd df staat
# Voorbeeld: df = pd.read_csv('jouw_dataset.csv')
# 1. Normaliseer de maandelijkse omzet
# Veronderstel dat 'maandelijkse_omzet' de kolomnaam is
df['genormaliseerde_omzet'] = (df['maandelijkse_omzet'] - df['maandelijkse_omzet'].mean()) / df['maandelijkse_omzet'].std()
# 2. Aggregeer verkochte eenheden per regio
# Veronderstel dat 'regio' en 'verkochte_eenheden' de kolomnamen zijn
aggregatie = df.groupby('regio')['verkochte_eenheden'].sum().reset_index()
# 3. Plotten van de staafdiagram
plt.figure(figsize=(10,6))
# Gebruik seaborn voor een mooi kleurenpalet
sns.set_theme(style="whitegrid")
# Kies een blauw palet
palette = sns.color_palette("Blues_d", n_colors=len(aggregatie))
# Plot de staafdiagram
ax = sns.barplot(data=aggregatie, x='regio', y='verkochte_eenheden', palette=palette)
# Voeg labels en titel toe
ax.set_xlabel('Regio')
ax.set_ylabel('Verkochte Eenheden')
ax.set_title('Verkoopgegevens per Regio')
plt.tight_layout()
plt.show()
provider: deepseek
model: deepseek-chat
Hier is de Python-code om uw verkoopgegevens te verwerken en te visualiseren:
```python
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
# Stel de stijl en kleuren in
plt.style.use('default')
blauw_palet = ['#1f77b4', '#4c72b0', '#5d7eb8', '#6e8abf', '#7f96c7', '#90a2cf']
# Voorbeeld dataset (vervang dit met uw eigen data)
data = {
'regio': ['Noord', 'Zuid', 'Oost', 'West', 'Noord', 'Zuid', 'Oost', 'West'],
'maandelijkse_omzet': [50000, 75000, 60000, 90000, 55000, 80000, 65000, 95000],
'verkochte_eenheden': [1200, 1800, 1500, 2200, 1300, 1900, 1600, 2400]
}
df = pd.DataFrame(data)
# Datatransformaties
# 1. Normaliseer maandelijkse omzet
df['genormaliseerde_omzet'] = (df['maandelijkse_omzet'] - df['maandelijkse_omzet'].min()) / (df['maandelijkse_omzet'].max() - df['maandelijkse_omzet'].min())
# 2. Aggregeer verkochte eenheden per regio
geaggregeerde_eenheden = df.groupby('regio')['verkochte_eenheden'].sum().reset_index()
# Maak de visualisatie
fig, ax = plt.subplots(figsize=(12, 8))
# Staafdiagram voor genormaliseerde omzet
bars = ax.bar(geaggregeerde_eenheden['regio'],
geaggregeerde_eenheden['verkochte_eenheden'],
color=blauw_palet[:len(geaggregeerde_eenheden)],
alpha=0.8,
edgecolor='black',
linewidth=0.5)
# Voeg waarden boven de staven toe
for bar in bars:
height = bar.get_height()
ax.text(bar.get_x() + bar.get_width()/2., height + 50,
f'{int(height)}',
ha='center', va='bottom', fontweight='bold')
# Stel labels en titel in
ax.set_xlabel('Regio', fontsize=12, fontweight='bold')
ax.set_ylabel('Totaal Verkochte Eenheden', fontsize=12, fontweight='bold')
ax.set_title('Verkoopanalyse per Regio\n(Genormaliseerde Omzet & Geaggregeerde Eenheden)',
fontsize=14, fontweight='bold', pad=20)
# Verbeter de layout
plt.xticks(rotation=45)
plt.grid(axis='y', alpha=0.3)
plt.tight_layout()
# Toon de grafiek
plt.show()
# Optioneel: toon de getransformeerde data
print("Genormaliseerde omzet per record:")
print(df[['regio', 'maandelijkse_omzet', 'genormaliseerde_omzet']])
print("\nGeaggregeerde eenheden per regio:")
print(geaggregeerde_eenheden)
```
**Belangrijke aanpassingen die u moet maken:**
1. **Vervang de voorbeelddata** met uw eigen dataset:
```python
# Vervang dit met het inladen van uw eigen data
# df = pd.read_csv('uw_bestand.csv')
```
2. **Pas de kolomnamen aan** als ze anders zijn in uw dataset:
```python
# Als uw kolommen andere namen hebben:
# df['genormaliseerde_omzet'] = (df['uw_omzet_kolom'] - df['uw_omzet_kolom'].min()) / (df['uw_omzet_kolom'].max() - df['uw_omzet_kolom'].min())
# geaggregeerde_eenheden = df.groupby('uw_regio_kolom')['uw_eenheden_kolom'].sum().reset_index()
```
De code voert beide gevraagde transformaties uit en maakt een staafdiagram met blauw kleurenpalet, duidelijke labels en professionele opmaak.