Seaborn-kleurenpalet: snelle gids voor het kiezen van kleuren
Gebruik color_palette() voor duidelijke categorische scheiding, cubehelix_palette() voor geleidelijke sequentiële data en diverging_palette() voor duidelijke afwijking vanaf een middelpunt.
Bij datavisualisatie kan het kiezen van de juiste kleuren net zo belangrijk zijn als het kiezen van het juiste diagramtype of de juiste weergave. Gelukkig maakt Python het met Seaborn eenvoudig om het juiste kleurenpalet te vinden. Lees mee om te begrijpen hoe je visualisaties maakt die niet alleen informatief zijn, maar ook visueel aantrekkelijk en toegankelijk.
Als je nieuw bent met Python, overweeg dan om te beginnen met de cursus Introduction to Python of het vaardigheidstraject Python Programming. Deze resources geven je de vaardigheden die je nodig hebt om de voorbeelden te volgen en de mogelijkheden van Seaborn volledig te benutten.
Korte opfrisser over kleurbasics
Er zijn drie hoofdelementen die elke kleur definiëren: hue, saturatie en value. Elk is belangrijk omdat ze verschillende soorten informatie overbrengen.
Hue
Hue is wat we doorgaans bedoelen met "kleur" – het is de pure kleur zelf, zoals rood, blauw of groen.
Illustratie van hue. Afbeelding door de auteur.
Deze visual toont verschillende tinten (hues), langs het kleurwiel van rood naar paars. Verschillende hues zijn geschikt om categorische data te representeren of specifieke elementen te benadrukken. Je kunt bijvoorbeeld verschillende hues gebruiken om niet-gerelateerde categorieën in een staafdiagram of scatterplot te onderscheiden.
Saturatie
Saturatie verwijst naar de intensiteit of zuiverheid van een kleur. Een volledig verzadigde kleur is levendig, terwijl een minder verzadigde kleur meer gedempt of grijzig oogt.
Illustratie van saturatie. Afbeelding door de auteur.
Deze gradiënt toont verschillende verzadigingsniveaus voor één hue. De kleur rechts is volledig verzadigd. Naar links toe wordt de kleur steeds minder verzadigd en uiteindelijk bijna grijs. Meer verzadigde kleuren kunnen de aandacht vestigen op cruciale datapunten of interessante regio’s.
Value
Value, ook wel helderheid of brightness, verwijst naar de lichtheid of donkerte van een kleur. Wit toevoegen verhoogt de value, zwart toevoegen verlaagt deze.
Illustratie van value (helderheid). Afbeelding door de auteur.
Deze gradiënt toont verschillende helderheidsniveaus voor dezelfde hue. Rechts zien we de kleur op zijn helderst. Naar links toe daalt de value en wordt de kleur donkerder. Value is handig om progressie of hiërarchie in data te tonen. Zo kun je bijvoorbeeld in een heatmap een value-gradiënt gebruiken om de intensiteit van data in een tweedimensionaal raster weer te geven.
Typen Seaborn-kleurenpaletten
Laten we de drie hoofdtypen kleurenpaletten in Seaborn verkennen: kwalitatief, sequentieel en divergerend.
Kwalitatieve paletten met color_palette()
Kwalitatieve paletten zijn ontworpen voor categorische data waarbij geen inherente volgorde of relatie tussen categorieën bestaat. Deze paletten gebruiken verschillende hues om categorieën te onderscheiden.
Kwalitatief palet. Afbeelding door de auteur.
Het hierboven getoonde palet "Bright" is een voorbeeld van een ingebouwd kwalitatief palet in Seaborn. Het gebruikt onderscheidende, levendige hues om categorieën te scheiden. De kleuren zijn goed van elkaar te onderscheiden, wat het ideaal maakt voor categorische data zonder inherente volgorde of relatie tussen categorieën.
De functie color_palette() is Seaborns manier om aangepaste kleurenpaletten te maken. Het laat je schakelen tussen verschillende soorten paletten door de paletnaam en het aantal kleuren te wijzigen. Bij gebruik van benoemde paletten (zoals "pastel" of "Blues") bepaalt de parameter number hoeveel kleuren je ziet. Meestal stem je het aantal kleuren af op je datacategorieën of maak je een gradiënt met een specifiek aantal stappen.
Voor nog preciezere controle kun je HEX-codes gebruiken om exacte kleuren te definiëren. Dit is vooral handig als je specifieke merkkleuren wilt matchen of een uniek kleurenschema wilt maken dat niet beschikbaar is in de ingebouwde paletten. Zo maak je verschillende typen paletten met color_palette():
# Create a qualitative palette with 4 colors
qual_palette = sns.color_palette("pastel",4)Mogelijk gemaakt door
Een kwalitatief palet met vier kleuren maken. Afbeelding door de auteur.
# Create a sequential palette with 6 colors
seq_palette = sns.color_palette("Blues",6)Mogelijk gemaakt door
Een sequentieel palet met zes kleuren maken. Afbeelding door de auteur.
# Create a diverging palette with 12 colors
div_palette = sns.color_palette("RdBu",12)Mogelijk gemaakt door
Een divergerend palet met 12 kleuren maken. Afbeelding door de auteur.
# Create a custom palette using HEX codes hex= sns.color_palette(["#FF6B6B","#4ECDC4","#45B7D1","#FAD02E","#594F4F"])Mogelijk gemaakt door
Een aangepast palet maken met HEX-codes. Afbeelding door de auteur.
Sequentiële paletten met cubehelix_palette()
Sequentiële paletten zijn ideaal voor numerieke data met een natuurlijke volgorde. Deze paletten tonen een progressie van lage naar hoge waarden, meestal met variaties in lichtheid en/of saturatie van één of meerdere hues.
Illustratie van het sequentiële Viridis-palet. Afbeelding door de auteur.
Het palet "Viridis" toont een progressie van donkerpaars naar felgeel. Dit type palet is geschikt om een bereik van waarden van laag naar hoog te laten zien. Dit is met name nuttig voor het visualiseren van continue data zoals temperatuurbereiken, bevolkingsdichtheden of elke dataset waarin je duidelijk een laag-naar-hoogrelatie wilt tonen. Andere ingebouwde opties zijn onder meer: ‘Blues’, ‘Greens’, ‘Reds’, ‘YlOrBr’ en ‘rocket’.
De functie cubehelix_palette() maakt het mogelijk sequentiële paletten te maken met fijnmazige controle over helderheid en kleurprogressie. Deze functie is vooral handig wanneer je een palet nodig hebt dat vloeiend in helderheid toeneemt en licht varieert in hue. Dit zijn de parameters voor aanpassing:
n_colors: Het aantal kleuren in het palet.
start: De startpositie in de kleurcyclus (0-3).
rot: Bepaalt hoeveel de hue verandert.
dark: De donkerste kleur in het palet.
light: De lichtste kleur in het palet.
reverse: Of de richting van het palet wordt omgekeerd.
# Create a default cubehelix palette
default_cube = sns.cubehelix_palette(8)Mogelijk gemaakt door
Illustratie van het standaard cubehelix-palet. Afbeelding door de auteur.
# Create a custom cubehelix palette
custom_cube = sns.cubehelix_palette(8, start=.5, rot=-.75, dark=.3, light=.8)Mogelijk gemaakt door
Illustratie van een aangepast cubehelix-palet. Afbeelding door de auteur.
# Create a reversed cubehelix palette
reversed_cube = sns.cubehelix_palette(8, start=2, rot=0, dark=0, light=.95, reverse=True)Mogelijk gemaakt door
Illustratie van een omgekeerd cubehelix-palet. Afbeelding door de auteur.
Divergerende paletten met diverging_palette()
Divergerende paletten zijn ontworpen voor data met een betekenisvol middelpunt of nulpunt. Deze paletten benadrukken afwijkingen vanaf een centraal punt, met twee contrasterende hues die verzadigder worden naarmate waarden verder van het midden afwijken.
Illustratie van een divergerend palet. Afbeelding door de auteur.
Bovenstaand voorbeeld laat goed zien hoe deze paletten afwijking vanaf een centraal punt benadrukken. Het palet verloopt van koele blauwen via neutraal wit naar warme roden, met een duidelijk middelpunt. Dit type palet kan gebruikt worden om temperatuurafwijkingen te visualiseren (waarbij 0 de gemiddelde temperatuur is), of winstmarge/verlies-scenario’s in financiële data. Andere ingebouwde opties zijn: 'RdBu', 'RdYlGn' en 'PiYG'. Laten we de parameters bekijken:
h_neg en h_pos: De hues voor het negatieve en positieve deel van het palet.
n: Het aantal kleuren in het palet.
s: De verzadiging van de kleuren.
l: De lichtheid van de kleuren.
center: De kleur van het middelpunt ('light' of 'dark').
# Create a default diverging palette
default_div = sns.diverging_palette(220,20, n=7)Mogelijk gemaakt door
Illustratie van een standaard divergerend palet. Afbeelding door de auteur.
# Create a diverging palette with more saturation
saturated_div = sns.diverging_palette(250,30, l=65, s=75, n=7)Mogelijk gemaakt door
Divergerend palet met meer saturatie. Afbeelding door de auteur.
# Create a diverging palette with a darker center
dark_center_div = sns.diverging_palette(150,275, s=80, l=55, n=9, center="dark")Mogelijk gemaakt door
Divergerend palet met een donkerder middelpunt. Afbeelding door de auteur.
Slotopmerking over Seaborn-kleurenpaletten
Het kiezen van het juiste kleurenpalet is een cruciaal onderdeel van het maken van effectieve datavisualisaties. De diverse en aanpasbare kleurenpaletten van Seaborn bieden krachtige hulpmiddelen om de helderheid en impact van je dataverbeelding te vergroten.
Terwijl je deze kleurconcepten toepast op je datavisualisatieprojecten en je vaardigheden verder wilt ontwikkelen, overweeg dan om uitgebreide leerpaden te verkennen zoals de Python Developer- of Data Analyst with Python-carrièretrack. Deze carrièregerichte trajecten zijn ontworpen om je vaardigheden van basisconcepten naar meer geavanceerde toepassingen te brengen, en begrip van goede visualisaties is daarbij altijd belangrijk.
Vinod Chugani begon zijn carrière in Tokio als JPMorgans jongste Head van de Hedge Fund Sales Desk en vestigde later een individueel verkooprecord bij Lehman Brothers, bouwde daarna een elektronicadistributiebedrijf in 30 landen uit tot voorbij SG$100 miljoen omzet en maakte vervolgens de overstap naar data. Als afgestudeerde Economie aan Duke en alumnus van de NYC Data Science Academy was hij een van de drie beursontvangers uit meer dan 100 aanmeldingen voor Hugo Bowne-Andersons Building AI Applications-cursus op Maven. Tegenwoordig schrijft hij voor DataCamp, KDnuggets, Machine Learning Mastery en Statology over onderwerpen van statistiek tot agentische AI, en coacht hij dataprofessionals bij de NYC Data Science Academy met meer dan 1.000 één-op-één-sessies op zijn naam.
Seaborn-kleurenpalet: veelgestelde vragen
Welke verschillende typen kleurenpaletten zijn beschikbaar in Seaborn?⌄
Seaborn biedt drie hoofdtypen kleurenpaletten: kwalitatief, sequentieel en divergerend. Kwalitatieve paletten zijn ideaal voor categorische data, sequentiële paletten voor numerieke data met een natuurlijke volgorde en divergerende paletten voor data met een betekenisvol middelpunt.
Hoe kan ik een aangepast kleurenpalet maken in Seaborn?
⌄
Je kunt de functie color_palette() gebruiken om aangepaste paletten te maken, waaronder kwalitatieve, sequentiële en divergerende typen. Hiermee kun je specifieke kleuren selecteren met HEX-codes voor nauwkeurige controle.
Wanneer moet ik cubehelix_palette() gebruiken in Seaborn?⌄
De functie cubehelix_palette() is handig om sequentiële paletten te maken met een vloeiende kleurprogressie, vooral wanneer je fijnmazige controle over helderheid en kleurvariatie nodig hebt.
Wat is het doel van het gebruik van diverging_palette() in datavisualisatie?⌄
De functie diverging_palette() is ontworpen voor data met een betekenisvol middelpunt, zoals winst/verlies of temperatuurafwijkingen. Ze gebruikt contrasterende hues om afwijking vanaf het midden te tonen en benadrukt zo uitschieters.
Wat zijn hue, saturatie en value bij kleurselectie?⌄
Hue staat voor de pure kleur, zoals rood of blauw; saturatie geeft de intensiteit van de kleur aan, van levendig tot gedempt; en value, ook wel helderheid, bepaalt de lichtheid of donkerte van de kleur. Inzicht in deze elementen helpt bij het kiezen van effectieve kleuren voor het visualiseren van verschillende soorten data.
Bij datavisualisatie kan het kiezen van de juiste kleuren net zo belangrijk zijn als het kiezen van het juiste diagramtype of de juiste weergave. Gelukkig maakt Python het met Seaborn eenvoudig om het juiste kleurenpalet te vinden. Lees mee om te begrijpen hoe je visualisaties maakt die niet alleen informatief zijn, maar ook visueel aantrekkelijk en toegankelijk.
Als je nieuw bent met Python, overweeg dan om te beginnen met de cursus Introduction to Python of het vaardigheidstraject Python Programming. Deze resources geven je de vaardigheden die je nodig hebt om de voorbeelden te volgen en de mogelijkheden van Seaborn volledig te benutten.
Korte opfrisser over kleurbasics
Er zijn drie hoofdelementen die elke kleur definiëren: hue, saturatie en value. Elk is belangrijk omdat ze verschillende soorten informatie overbrengen.
Hue
Hue is wat we doorgaans bedoelen met "kleur" – het is de pure kleur zelf, zoals rood, blauw of groen.
Illustratie van hue. Afbeelding door de auteur.
Deze visual toont verschillende tinten (hues), langs het kleurwiel van rood naar paars. Verschillende hues zijn geschikt om categorische data te representeren of specifieke elementen te benadrukken. Je kunt bijvoorbeeld verschillende hues gebruiken om niet-gerelateerde categorieën in een staafdiagram of scatterplot te onderscheiden.
Saturatie
Saturatie verwijst naar de intensiteit of zuiverheid van een kleur. Een volledig verzadigde kleur is levendig, terwijl een minder verzadigde kleur meer gedempt of grijzig oogt.
Illustratie van saturatie. Afbeelding door de auteur.
Deze gradiënt toont verschillende verzadigingsniveaus voor één hue. De kleur rechts is volledig verzadigd. Naar links toe wordt de kleur steeds minder verzadigd en uiteindelijk bijna grijs. Meer verzadigde kleuren kunnen de aandacht vestigen op cruciale datapunten of interessante regio’s.
Value
Value, ook wel helderheid of brightness, verwijst naar de lichtheid of donkerte van een kleur. Wit toevoegen verhoogt de value, zwart toevoegen verlaagt deze.
Illustratie van value (helderheid). Afbeelding door de auteur.
Deze gradiënt toont verschillende helderheidsniveaus voor dezelfde hue. Rechts zien we de kleur op zijn helderst. Naar links toe daalt de value en wordt de kleur donkerder. Value is handig om progressie of hiërarchie in data te tonen. Zo kun je bijvoorbeeld in een heatmap een value-gradiënt gebruiken om de intensiteit van data in een tweedimensionaal raster weer te geven.
Typen Seaborn-kleurenpaletten
Laten we de drie hoofdtypen kleurenpaletten in Seaborn verkennen: kwalitatief, sequentieel en divergerend.
Kwalitatieve paletten met color_palette()
Kwalitatieve paletten zijn ontworpen voor categorische data waarbij geen inherente volgorde of relatie tussen categorieën bestaat. Deze paletten gebruiken verschillende hues om categorieën te onderscheiden.
Kwalitatief palet. Afbeelding door de auteur.
Het hierboven getoonde palet
"Bright"is een voorbeeld van een ingebouwd kwalitatief palet in Seaborn. Het gebruikt onderscheidende, levendige hues om categorieën te scheiden. De kleuren zijn goed van elkaar te onderscheiden, wat het ideaal maakt voor categorische data zonder inherente volgorde of relatie tussen categorieën.De functie
color_palette()is Seaborns manier om aangepaste kleurenpaletten te maken. Het laat je schakelen tussen verschillende soorten paletten door de paletnaam en het aantal kleuren te wijzigen. Bij gebruik van benoemde paletten (zoals"pastel"of"Blues") bepaalt de parameternumberhoeveel kleuren je ziet. Meestal stem je het aantal kleuren af op je datacategorieën of maak je een gradiënt met een specifiek aantal stappen.Voor nog preciezere controle kun je HEX-codes gebruiken om exacte kleuren te definiëren. Dit is vooral handig als je specifieke merkkleuren wilt matchen of een uniek kleurenschema wilt maken dat niet beschikbaar is in de ingebouwde paletten. Zo maak je verschillende typen paletten met
color_palette():Een kwalitatief palet met vier kleuren maken. Afbeelding door de auteur.
Een sequentieel palet met zes kleuren maken. Afbeelding door de auteur.
Een divergerend palet met 12 kleuren maken. Afbeelding door de auteur.
Een aangepast palet maken met HEX-codes. Afbeelding door de auteur.
Sequentiële paletten met cubehelix_palette()
Sequentiële paletten zijn ideaal voor numerieke data met een natuurlijke volgorde. Deze paletten tonen een progressie van lage naar hoge waarden, meestal met variaties in lichtheid en/of saturatie van één of meerdere hues.
Illustratie van het sequentiële Viridis-palet. Afbeelding door de auteur.
Het palet
"Viridis"toont een progressie van donkerpaars naar felgeel. Dit type palet is geschikt om een bereik van waarden van laag naar hoog te laten zien. Dit is met name nuttig voor het visualiseren van continue data zoals temperatuurbereiken, bevolkingsdichtheden of elke dataset waarin je duidelijk een laag-naar-hoogrelatie wilt tonen. Andere ingebouwde opties zijn onder meer:‘Blues’,‘Greens’,‘Reds’,‘YlOrBr’en‘rocket’.De functie
cubehelix_palette()maakt het mogelijk sequentiële paletten te maken met fijnmazige controle over helderheid en kleurprogressie. Deze functie is vooral handig wanneer je een palet nodig hebt dat vloeiend in helderheid toeneemt en licht varieert in hue. Dit zijn de parameters voor aanpassing:n_colors: Het aantal kleuren in het palet.start: De startpositie in de kleurcyclus (0-3).rot: Bepaalt hoeveel de hue verandert.dark: De donkerste kleur in het palet.light: De lichtste kleur in het palet.reverse: Of de richting van het palet wordt omgekeerd.Illustratie van het standaard cubehelix-palet. Afbeelding door de auteur.
Illustratie van een aangepast cubehelix-palet. Afbeelding door de auteur.
Illustratie van een omgekeerd cubehelix-palet. Afbeelding door de auteur.
Divergerende paletten met diverging_palette()
Divergerende paletten zijn ontworpen voor data met een betekenisvol middelpunt of nulpunt. Deze paletten benadrukken afwijkingen vanaf een centraal punt, met twee contrasterende hues die verzadigder worden naarmate waarden verder van het midden afwijken.
Illustratie van een divergerend palet. Afbeelding door de auteur.
Bovenstaand voorbeeld laat goed zien hoe deze paletten afwijking vanaf een centraal punt benadrukken. Het palet verloopt van koele blauwen via neutraal wit naar warme roden, met een duidelijk middelpunt. Dit type palet kan gebruikt worden om temperatuurafwijkingen te visualiseren (waarbij 0 de gemiddelde temperatuur is), of winstmarge/verlies-scenario’s in financiële data. Andere ingebouwde opties zijn:
'RdBu','RdYlGn'en'PiYG'. Laten we de parameters bekijken:h_negenh_pos: De hues voor het negatieve en positieve deel van het palet.n: Het aantal kleuren in het palet.s: De verzadiging van de kleuren.l: De lichtheid van de kleuren.center: De kleur van het middelpunt ('light'of'dark').Illustratie van een standaard divergerend palet. Afbeelding door de auteur.
Divergerend palet met meer saturatie. Afbeelding door de auteur.
Divergerend palet met een donkerder middelpunt. Afbeelding door de auteur.
Slotopmerking over Seaborn-kleurenpaletten
Het kiezen van het juiste kleurenpalet is een cruciaal onderdeel van het maken van effectieve datavisualisaties. De diverse en aanpasbare kleurenpaletten van Seaborn bieden krachtige hulpmiddelen om de helderheid en impact van je dataverbeelding te vergroten.
Terwijl je deze kleurconcepten toepast op je datavisualisatieprojecten en je vaardigheden verder wilt ontwikkelen, overweeg dan om uitgebreide leerpaden te verkennen zoals de Python Developer- of Data Analyst with Python-carrièretrack. Deze carrièregerichte trajecten zijn ontworpen om je vaardigheden van basisconcepten naar meer geavanceerde toepassingen te brengen, en begrip van goede visualisaties is daarbij altijd belangrijk.