Optimaliseer Seaborn-visualisaties voor publicatiekwaliteit
description
Maakt het mogelijk om verzorgde, visueel aantrekkelijke grafieken te maken die voldoen aan professionele standaarden voor publicaties of presentaties. Lost veelvoorkomende problemen met standaardstyling en lay-out in Seaborn op en biedt volledige controle over esthetiek en annotaties om datainsights beter over te brengen.
prompt
Help me mijn Seaborn-visualisatie te optimaliseren om graphics van publicatiekwaliteit te maken. Overzicht dataset: <geef een korte beschrijving van je dataset> Type visualisatie: <kies het grafiektype zoals viol ...
try_prompt
generate_helper
disclaimerOnPageApi
tags
ai_answers
provider: openai
model: gpt-4.1-nano
Natuurlijk! Hier is een voorbeeld van hoe je je Seaborn-violinplot kunt optimaliseren volgens jouw specificaties:
```python
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
# Voorbeeld: laad je dataset
# dataset = pd.read_csv('jouw_data.csv')
# Stel het stijlthema en het kleurpalet in
sns.set_theme(style="whitegrid", palette="pastel")
# Creëer de plot met specifieke figuurafmetingen
plt.figure(figsize=(10, 6))
ax = sns.violinplot(
x='regio',
y='verkoop',
hue='productcategorie',
data=dataset,
split=True
)
# Markeer uitbijters in productcategorie B
b_data = dataset[dataset['productcategorie'] == 'B']
# Bepaal de uitbijters (bijvoorbeeld buiten 1.5*IQR)
Q1 = b_data['verkoop'].quantile(0.25)
Q3 = b_data['verkoop'].quantile(0.75)
IQR = Q3 - Q1
lower_bound = Q1 - 1.5 * IQR
upper_bound = Q3 + 1.5 * IQR
# Plot de uitbijters
outliers = b_data[(b_data['verkoop'] < lower_bound) | (b_data['verkoop'] > upper_bound)]
ax.scatter(
outliers['regio'],
outliers['verkoop'],
color='red',
marker='o',
s=50,
label='Uitbijters B'
)
# Voeg titel en labels toe
ax.set_title('Verkoopgegevens per Regio en Productcategorie')
ax.set_xlabel('Regio')
ax.set_ylabel('Verkoop')
# Optioneel: voeg legenda toe
ax.legend()
# Toon de plot
plt.tight_layout()
plt.show()
```
Enkele tips voor een publicatietype grafiek:
- Gebruik een consistent pastel kleurenpalet.
- Zorg voor voldoende contrast en leesbaarheid.
- Voeg duidelijke annotaties toe waar nodig.
- Bewaar de afbeelding in hoge resolutie, bijvoorbeeld: `plt.savefig('publicatiegrafiek.png', dpi=300)`.
Wil je dat ik de code aanpas op basis van je exacte dataset of verdere details?
provider: deepseek
model: deepseek-chat
Hier is een geoptimaliseerde code voor je Seaborn-violinplot met publicatiekwaliteit:
```python
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
# Stel de stijl in
sns.set_theme(style="whitegrid")
sns.set_palette("pastel")
# Maak figuur met gewenst formaat
plt.figure(figsize=(10, 6))
# Creëer violinplot
violin_plot = sns.violinplot(
x='productcategorie',
y='verkoop',
data=df,
cut=0, # Scherpere randen
inner="quartile", # Toon quartielen binnen de violin
saturation=0.8 # Iets meer verzadiging voor betere zichtbaarheid
)
# Markeer uitbijters specifiek voor categorie B
# Identificeer uitbijters voor categorie B
categorie_b_data = df[df['productcategorie'] == 'B']['verkoop']
Q1 = categorie_b_data.quantile(0.25)
Q3 = categorie_b_data.quantile(0.75)
IQR = Q3 - Q1
outlier_threshold = 1.5 * IQR
outliers = categorie_b_data[(categorie_b_data < (Q1 - outlier_threshold)) |
(categorie_b_data > (Q3 + outlier_threshold))]
# Markeer uitbijters
for i, outlier_value in enumerate(outliers):
# Vind de x-positie voor categorie B
x_pos = list(df['productcategorie'].unique()).index('B')
plt.scatter(x_pos, outlier_value, color='red', s=60,
edgecolors='black', linewidth=1, zorder=10,
label='Uitbijters categorie B' if i == 0 else "")
# Verbeter labels en titel
plt.xlabel('Productcategorie', fontsize=12, fontweight='bold')
plt.ylabel('Verkoopcijfers', fontsize=12, fontweight='bold')
plt.title('Verdeling van verkoopcijfers per productcategorie',
fontsize=14, fontweight='bold', pad=20)
# Verbeter de legenda
if len(outliers) > 0:
plt.legend(loc='upper right')
# Verfijn de layout
plt.tight_layout()
# Verwijder boven en rechter randen voor schonere look
sns.despine()
# Toon de plot
plt.show()
```
Extra optimalisatietips:
1. Gebruik `plt.savefig('violinplot.png', dpi=300, bbox_inches='tight')` voor hoge-resolutie export
2. Overweeg `sns.color_palette("pastel", n_colors=len(df['productcategorie'].unique()))` voor consistente kleuren
3. Voeg `plt.xticks(rotation=45)` toe als categorienamen lang zijn
4. Gebruik `fontfamily='sans-serif'` in tekstopties voor betere leesbaarheid
Deze instellingen zorgen voor een professionele, publicatieklare visualisatie met de gewenste pastelkleuren en duidelijke markering van uitbijters in categorie B.