Python >> Python opplæring >  >> Python Tag >> Seaborn

Seaborn Heatmap Tutorial – En omfattende veiledning

Hei, folkens! I denne artikkelen skal vi diskutere omdatavisualisering gjennom Seaborn Heatmaps .

Forstå varmekart i Seaborn-biblioteket

Python har fått ulike moduler for å forberede og presentere dataene i en visualisert form for en bedre forståelse av den bygde datamodellen.

Python Seaborn-modulen brukes til å visualisere dataene og utforske ulike aspekter av dataene i et grafisk format. Den er bygget på toppen av Python Matplotlib-modulen som også har funksjoner for å plotte dataene på en variert måte.

Seaborn kan ikke betraktes som et alternativ til Matplotlib, men kan faktisk betraktes som en hjelpende funksjon i datautforskning og visualisering.

Seaborn har flere innebygde funksjoner for å bygge grafer for datavisualisering. En av de viktige funksjonene i retning av datautforskning og visualisering er HeatMaps.

Seaborn Heatmaps representerer dataene i form av et 2-dimensjonalt format . Varmekart visualiserer dataene og representere i form av et sammendrag gjennom grafen/fargede kart.

Den bruker forskjellige fargepaletter og forskjellige parametere for å legge til flere visualiseringsfunksjoner til grafen og bidrar dermed til utforskning av data effektivt.

For å komme i gang med Heatmaps, må vi installere Seaborn-modulen ved å bruke syntaksen nedenfor–

Syntaks:

pip install seaborn

Seaborn krever at følgende moduler er installert på forhånd:

  • Pandaer
  • NumPy
  • Matplotlib

1. Opprette et varmekart

La oss lage en grunnleggende Heatmap med følgende syntaks for å lage en visualiseringsgraf av dataene som er gitt til den.

Syntaks:

seaborn.heatmap(data)

Eksempel:

import numpy as np
import seaborn as sn
import matplotlib.pyplot as plt
data_plot = np.random.rand(6,5)
map = sn.heatmap(data_plot)
plt.show()

I kodebiten ovenfor har vi brukt numpy.random.rand(m,n) function å tilfeldig generere noen data med 6 rader og 5 kolonner som skal mates til varmekartet. Videre pyplot.show() function brukes til å representere varmekartet med riktig formatering.

Utdata:

2. Fjern etiketter i HeatMap

Som vist i varmekart-representasjonen ovenfor, er verdiene/datapunktene representert av x-aksen og y-aksen kjent som tick-etiketter. De representerer skalaen til dataene som er plottet og visualisert ved hjelp av varmekartene.

Hakeetikettene er av følgende typer-

  • x-tick-etiketter
  • y-tick-etiketter

Fjerner y-etiketten fra et HeatMap

Som standard er hakeetikettene til stede i varmekartene. For å fjerne y-tikken kan vi bruke syntaksen nedenfor:

seaborn.heatmap(data,yticklabels=False)

Eksempel:

import numpy as np
import seaborn as sn
import matplotlib.pyplot as plt
data_plot = np.random.rand(6,5)
map = sn.heatmap(data_plot,yticklabels=False)
plt.show()

Utdata:

Fjerne x-label fra et HeatMap

For å fjerne x-tick-etikettskalaen, bruk syntaksen nedenfor:

seaborn.heatmap(data,xticklabels=False)

Eksempel:

import numpy as np
import seaborn as sn
import matplotlib.pyplot as plt
data_plot = np.random.rand(6,5)
map = sn.heatmap(data_plot,xticklabels=False)
plt.show()

Utdata:

3. Sette etiketter i HeatMap

For å legge til bedre verdi og forståelse til varmekartet, er det mulig å legge til etiketter som vil bidra til å gi mer mening i forståelsen av de visualiserte dataene.

1. Angi x-label

Følgende syntaks kan brukes til å legge til en tekstetikett til x-tick-aksen ved å bruke matplotlib innebygd funksjon:

pyplot.xlabel("label")

Eksempel:

import numpy as np
import seaborn as sn
import matplotlib.pyplot as plt
data_plot = np.random.rand(6,5)
map = sn.heatmap(data_plot)
plt.xlabel("Numbers")
plt.show()

Utdata:

2. Angi y-etikett

På lignende måte kan følgende syntaks innprentes for å legge til en tekstetikett til y-tick-aksen:

pyplot.ylabel("label")

Eksempel:

import numpy as np
import seaborn as sn
import matplotlib.pyplot as plt
data_plot = np.random.rand(6,5)
map = sn.heatmap(data_plot)
plt.ylabel("Range")
plt.show()

Utdata:

4. Legge til tekstverdier til HeatMap

Vi kan legge til verdiene representert av det 2-dimensjonale formatet til Heatmap som vil gi verdi til en bedre forståelse av de representerte dataene ved å bruke syntaksen nedenfor:

seaborn.heatmap(data,annot=True)

annot parameter er satt til True , for å vise dataene plottet av varmekartet.

Eksempel 1: Legge til tekstverdier til de tilfeldig genererte dataene ved hjelp av Heatmaps

import numpy as np
import seaborn as sn
import matplotlib.pyplot as plt

data_plot = np.random.rand(6,5)

map = sn.heatmap(data_plot,annot=True)

plt.xlabel("Numbers")
plt.ylabel("Range")
plt.show()

Utdata:

Eksempel 2: Legge til dataverdiene fra datasettet for å representere i varmekartet

import pandas as pd
import seaborn as sn
import matplotlib.pyplot as plt

data = pd.read_csv("C:/Python_edwisor/mtcars.csv")
data_set = pd.DataFrame(data.iloc[1:5,1:5])
map = sn.heatmap(data_set,annot=True)
plt.show()

Inndatasett:

Utdata:

5. ColorMaps i Seaborn HeatMaps

Fargekartet hjelper effektivt å forstå dataene presentert av varmekartene. Fargekart representerer fordelingen av dataene der vi kan analysere dataene i form av minimums- og maksimumsverdier representert av fargene fra fargelinjen.

1. Sekvensielle fargekart

Sekvensielle fargekart brukes når dataene opplever en gradvis og lineær økning i verdiene til dataene/populasjonen. Dermed kan sekvensielle fargekart brukes til å representere den lineære stigningen fra henholdsvis lave til høye verdier.

Vi kan implementere det sekvensielle fargekartet ved å sette cmap attribute til «cubehelix '

Syntaks:

seaborn.heatmap(data,cmap='cubehelix')

Eksempel:

import pandas as pd
import seaborn as sn
import matplotlib.pyplot as plt

data = pd.read_csv("C:/Python_edwisor/mtcars.csv")
data_set = pd.DataFrame(data.iloc[1:5,1:5])

map = sn.heatmap(data_set,annot=True,cmap="cubehelix")
plt.show()

Utdata:

2. Divergerende fargepalett

Divergerende fargepalett oppretter et fargekart som en kombinasjon av divergens mellom to farger.

Syntaks:

cmap = seaborn.diverging_palette(h_neg and h_pos, sep=value, l=value, as_cmap=True)
  • h_neg and h_pos :Verdiene for negative og positive utvidelser av kartet. Områder mellom 0-359.
  • l :Den brukes til å legge til lyshet i begge utstrekningene av kartet. Områder mellom 0-100.
  • sep :Sep-parameteren representerer størrelsen på det mellomliggende dataområdet i varmekartet.
  • as_cmap :En boolsk parameter, når satt til True, representerer den et matplotlib-fargekartobjekt.

Eksempel:

import pandas as pd
import seaborn as sn
import matplotlib.pyplot as plt

data = pd.read_csv("C:/Python_edwisor/mtcars.csv")
data_set = pd.DataFrame(data.iloc[1:5,1:5])
cmap = sn.diverging_palette(320, 40, sep=40, as_cmap=True)
map = sn.heatmap(data_set,annot=True,cmap=cmap)
plt.show()

Utdata:

3. Lys og mørk palett colorMap

Ved å bruke sjøborne varmekart kan vi få et fargekart med en blanding av enten lyse eller mørke verdier for å visualisere dataene på en bedre måte.

Typer blandende fargekart:

  • Light palette colormap :Den blander den gitte fargen fra lys til mørk , som representerer dataene fra lave til høye verdier for befolkningen.
  • Dark palette colormap :Den blander den gitte fargen fra mørk til lys , som representerer dataene fra lave til høye verdier.

Syntaks:Lys palett

cmap = seaborn.light_palette("color-code",as_cmap=True)

Eksempel 1: Lys palett

import pandas as pd
import seaborn as sn
import matplotlib.pyplot as plt

data = pd.read_csv("C:/Python_edwisor/mtcars.csv")
data_set = pd.DataFrame(data.iloc[1:5,1:5])
cmap = sn.light_palette("#3fdd01", as_cmap=True)
map = sn.heatmap(data_set,annot=True,cmap=cmap)
plt.show()

Utdata:

Syntaks:Mørk palett

seaborn.dark_palette("color-code",as_cmap=True)

Eksempel 2: Mørk palett

import pandas as pd
import seaborn as sn
import matplotlib.pyplot as plt

data = pd.read_csv("C:/Python_edwisor/mtcars.csv")
data_set = pd.DataFrame(data.iloc[1:5,1:5])
cmap = sn.dark_palette("#3fdd01", as_cmap=True)
map = sn.heatmap(data_set,annot=True,cmap=cmap)
plt.show()

Utdata:

4. Diskret ColorMap

Hvis datasettet/populasjonen inneholder diskrete dataverdier, kan vi bruke seaborn.mpl_palette() function for å representere de diskrete verdiene med diskrete farger.

Syntaks:

seaborn.mpl_palette("Set3",value)
  • Set3 :Det er navnet på fargepaletten (lek litt med andre fargekart her)
  • value :Antall diskrete farger som skal presenteres i en palett.

Eksempel:

import pandas as pd
import seaborn as sn
import matplotlib.pyplot as plt

data = pd.read_csv("C:/Python_edwisor/mtcars.csv")
data_set = pd.DataFrame(data.iloc[1:5,1:5])
cmap = sn.mpl_palette("Set3", 20)
map = sn.heatmap(data_set,annot=True,cmap=cmap)
plt.show()

Utdata:

6. Seaborn HeatMap fargelinje

Fargelinjen gir informasjon om fargen representert av de visualiserte dataene og representerer også verdiområdet som viser dataene plottet av varmekartene.

Som standard er en fargelinje til stede i varmekartet. Hvis vi ønsker å fjerne fargelinjen fra varmekartet, kan syntaksen nedenfor hjelpe deg med det:

seaborn.heatmap(data,cbar=False)

Eksempel 1:

import numpy as np
import seaborn as sn
import matplotlib.pyplot as plt

data_plot = np.random.rand(6,5)
map = sn.heatmap(data_plot,annot=True,cbar=False)

plt.xlabel("Numbers")
plt.ylabel("Range")
plt.show()

Utdata:

Vi kan tilpasse varmekartet ved å gi området til skalaen av verdier representert av fargene på fargelinjen ved å bruke syntaksen nedenfor:

seaborn.heatmap(data,cmap,vmin=value,vmax=value)

Eksempel 2:

import pandas as pd
import seaborn as sn
import matplotlib.pyplot as plt

data = pd.read_csv("C:/Python_edwisor/mtcars.csv")
data_set = pd.DataFrame(data.iloc[1:5,1:5])
cmap = sn.mpl_palette("Set3", 5)
map = sn.heatmap(data_set,annot=True,cmap=cmap,vmin=10, vmax=20)

plt.show()

I eksemplet ovenfor har vi satt skalaen til fargelinjen fra 10-20.

Utdata:

Konklusjon

I denne artikkelen har vi derfor forstått funksjonen til Seaborn Heatmaps.

Jeg anbefaler deg på det sterkeste å gå gjennom Python Matplotlib-modulen for dyp forståelse av datavisualisering.

Referanser

  • Python Seaborn Tutorial – AskPython
  • Seaborn Heatmaps — Offisiell dokumentasjon