Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erklärung von Pythons Seaborn (Datenvisualisierung)

Detaillierte Erklärung von Pythons Seaborn (Datenvisualisierung)

WBOY
WBOYnach vorne
2022-04-21 18:08:557621Durchsuche

Dieser Artikel vermittelt Ihnen relevantes Wissen über Python, das hauptsächlich verwandte Themen zu Seaborn vorstellt, einschließlich Streudiagramme, Liniendiagramme, Balkendiagramme usw. für die Datenvisualisierung. Werfen wir einen Blick darauf, ich hoffe, es hilft allen .

Detaillierte Erklärung von Pythons Seaborn (Datenvisualisierung)

Empfohlenes Lernen: Python-Video-Tutorial

1. Seaborn installieren

Installation:

Pip Install Seaborn

Importieren :

Seaborn als SNS importieren


2. Daten vorbereiten

Bevor wir offiziell beginnen, bereiten wir zunächst mit dem folgenden Code einen Datensatz zur einfachen Anzeige und Verwendung vor.

import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport seaborn as snspd.set_option('display.unicode.east_asian_width', True)df1 = pd.DataFrame(    {'数据序号': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],     '厂商编号': ['001', '001', '001', '002', '002', '002', '003', '003', '003', '004', '004', '004'],     '产品类型': ['AAA', 'BBB', 'CCC', 'AAA', 'BBB', 'CCC', 'AAA', 'BBB', 'CCC', 'AAA', 'BBB', 'CCC'],     'A属性值': [40, 70, 60, 75, 90, 82, 73, 99, 125, 105, 137, 120],     'B属性值': [24, 36, 52, 32, 49, 68, 77, 90, 74, 88, 98, 99],     'C属性值': [30, 36, 55, 46, 68, 77, 72, 89, 99, 90, 115, 101]    })print(df1)

generiert einen Datensatz wie folgt:

       Detaillierte Erklärung von Pythons Seaborn (Datenvisualisierung)


3. Hintergrund und Rahmen


3.1 Legen Sie den Hintergrundstil fest

Die Methode sns.set_style() wird zum Festlegen verwendet Stil und hier Eingebaut Der Stil verwendet die Hintergrundfarbe, um den Namen darzustellen, der eigentliche Inhalt ist jedoch nicht auf die Hintergrundfarbe beschränkt.

sns.set_style()


Die Hintergrundstile, die Sie auswählen können, sind:

  • weißes Gitter, weißes Gitter
  • dunkelgrauer Hintergrund
  • weißer weißer Hintergrund
  • Häkchen Ein weißer Hintergrund mit Häkchen darum herum

sns.set()
sns.set()
sns.set_style(“darkgrid”)
sns.set_style(“whitegrid”)
sns.set_style(“dark )

sns.set_style(“white”)

sns.set_style(“ticks”)



  Unter anderem bedeutet sns.set() die Verwendung eines benutzerdefinierten Stils, wenn keine Parameter übergeben werden Standardmäßig ist ein grauer Hintergrundstil. Wenn kein set() oder set_style() vorhanden ist, ist der Hintergrund weiß.

  Ein möglicher Fehler: Der „Häkchen“-Stil ist für Bilder ungültig, die mit der relplot()-Methode gezeichnet wurden.

3.3 Andere


Die Seaborn-Bibliothek basiert auf der gekapselten Matplotlib-Bibliothek, und ihr gekapselter Stil kann unsere Zeichenarbeit komfortabler machen. Die häufig verwendeten Anweisungen in der Matplotlib-Bibliothek sind auch bei Verwendung der Seaborn-Bibliothek weiterhin gültig.

  Beim Festlegen anderer stilbezogener Attribute, wie z. B. Schriftarten, ist zu beachten, dass diese Codes nach sns.set_style() geschrieben werden müssen, um wirksam zu sein. Zum Beispiel der Code zum Festlegen der Schriftart auf Fettdruck (um verstümmelte chinesische Zeichen zu vermeiden):


plt.rcParams['font.sans-serif'] = ['SimHei']

 If Wenn der Stil dahinter festgelegt ist, überschreibt die festgelegte Schriftart den festgelegten Stil und generiert somit eine Warnung. Dasselbe gilt auch für andere Attribute. 3.2 Grenzkontrolle Verwenden Sie die Methode spread().

Der Parametertyp der Replot-Methode ist standardmäßig „Scatter“, was bedeutet, dass ein Streudiagramm gezeichnet wird.

Der Farbtonparameter wird in dieser einen Dimension ausgedrückt, unterschieden nach Farbe

① Zeichnen Sie ein Streudiagramm für den A-Attributwert und die Datensequenznummer, rote Streupunkte, graues Raster, behalten Sie die linken und unteren Ränder bei

sns. set_style('darkgrid')
plt.rcParams['font.sans-serif'] = ['SimHei']

sns.relplot(x='data serial number', y='A attribute value', data =df1, color ='red')

plt.show()

       


② Zeichnen Sie ein Streudiagramm für den A-Attributwert und die Datensequenznummer. Die Streupunkte zeigen je nach Produkttyp unterschiedliche Farben an.
Weißes Gitter, linker und unterer Rand:

sns.set_style('whitegrid ' )
plt.rcParams['font.sans-serif'] = ['SimHei']
sns.relplot(x='Datenseriennummer', y='A-Attributwert', hue='Produkttyp', Daten =df1 )
plt.show()

       Detaillierte Erklärung von Pythons Seaborn (Datenvisualisierung)


③ Zeichnen Sie die Werte der drei Felder A-Attribut, B-Attribut und C-Attribut in demselben Diagramm in verschiedenen Stilen auf (zeichnen Sie ein Streudiagramm). x-Achse Die Daten sind im Tick-Stil [0,2,4,6,8...]
(Rahmenlinien in allen vier Richtungen sind erforderlich) und die Schriftart ist kursiv

sns.set_style(' ticks')
plt.rcParams[' font.sans-serif'] = ['STKAITI']
df2 = df1.copy()
df2.index = list(range(0, len(df2)*2, 2) )
dfs = [df2['A-Attributwert'], df2['B-Attributwert'], df2['C-Attributwert']]
sns.scatterplot(data=dfs)
plt.show()

       Detaillierte Erklärung von Pythons Seaborn (Datenvisualisierung)


5. Zeichnen Sie eine Polylinienfigur

Verwenden Sie die Seaborn-Bibliothek, um ein Liniendiagramm zu zeichnen.

5.1 Verwenden Sie die replot()-Methode

sns.replot() zeichnet standardmäßig ein Streudiagramm. Um ein Liniendiagramm zu zeichnen, ändern Sie einfach den Parametertyp in „Linie“.

Anforderungen: Zeichnen Sie ein Liniendiagramm mit A-Attributwert und Datenseriennummer,
grauem Raster, globale Schriftart ist kursiv und passen Sie die Schriftgröße des Titels, die zweiachsige Beschriftung
und den Abstand zwischen dem Koordinatensystem an und der Rand der Leinwand (stellen Sie dies ein Der Abstand liegt daran, dass die Schriftart nicht vollständig angezeigt wird):

sns.set(rc={'font.sans-serif': "STKAITI"})
sns. relplot(x='Datenseriennummer', y='A-Attributwert', Daten=df1, Farbe='lila', Art='Linie')
plt.title("Zeichne ein Liniendiagramm", Schriftgröße=18)
plt.xlabel('num', Schriftgröße=18)
plt.ylabel('Ein Attributwert', Schriftgröße=16)
plt.subplots_adjust(links=0,15, rechts=0,9, unten=0,1, oben=0,9)
plt.show()

              Detaillierte Erklärung von Pythons Seaborn (Datenvisualisierung)



Anforderungen: Zeichnen Sie A-Attribut-Polylinien für verschiedene Produkttypen (drei Linien in einem Bild), Whitegrid-Stil und kursive Schriftart.

sns.set_style("whitegrid")
plt.rcParams['font.sans-serif'] = ['STKAITI']
sns.relplot(x='Datenseriennummer', y='Ein Attribut value ', hue='product type', data=df1, kind='line')
plt.title("Zeichne ein Liniendiagramm", Schriftgröße=18)
plt.xlabel('num', Schriftgröße=18)
PLT

Anforderungen: Zeichnen Sie die Werte der drei Felder A, B und C in verschiedenen Stilen im selben Diagramm (zeichnen Sie ein Liniendiagramm). Die Daten auf der x-Achse sind [0,2,4,6,8 …]
Darkgrid-Stil (Rahmenlinien in allen vier Richtungen sind erforderlich), die Schriftart ist kursiv und es werden X-Achsen-Beschriftungen, Y-Achsen-Beschriftungen und Titel hinzugefügt. Der Randabstand ist angemessen.

Detaillierte Erklärung von Pythons Seaborn (Datenvisualisierung)


sns.set_style('darkgrid')
plt.rcParams['font.sans-serif'] = ['STKAITI'] df2 = df1.copy()
df2.index = list(range( 0, len(df2)*2, 2))
dfs = [df2['A-Attributwert'], df2['B-Attributwert'], df2['C-Attributwert']]
sns.relplot(data= dfs, kind="line")

plt.title("Zeichne ein Liniendiagramm", Schriftgröße=18)
plt.xlabel('num', Schriftgröße=18)

plt.ylabel('Ein Attributwert', Schriftgröße= 16).
  Mehrere Nebenhandlungen


Horizontale Mehrfachuntergraphenspalte

sns.set_style('darkgrid')
plt.rcParams['font.sans-serif'] = ['STKAITI']
sns.relplot(data=df1, x=" A-Attributwert", y="B-Attributwert", kind="line", col="Herstellernummer")
plt.subplots_adjust(left=0.05, right=0.95, unten=0.1, oben=0.9)
plt. show()

Detaillierte Erklärung von Pythons Seaborn (Datenvisualisierung)

vertikale Zeile mit mehreren Unterbildern

sns.set_style('darkgrid')
plt.rcParams['font.sans-serif'] = ['STKAITI']
sns. relplot(data=df1, x="A-Attributwert", y="B-Attributwert", kind="line", row="Herstellernummer")
plt.subplots_adjust(left=0.15, right=0.9, unten = 0,1, oben = 0,95)
PLT.SHOW ()

Detaillierte Erklärung von Pythons Seaborn (Datenvisualisierung)


5.2 Verwenden Sie die LINEPLOT()-Methode

Verwenden Sie die lineplot()-Methode, um das Liniendiagramm zu zeichnen. Andere Details sind grundsätzlich gleich wie oben. Der Beispielcode lautet wie folgt:

sns.set_style('darkgrid')
plt.rcParams['font.sans-serif'] = ['STKAITI']
sns.lineplot(x=' Datenseriennummer', y='Ein Attributwert', Daten =df1, Farbe='lila')
plt.title("Zeichne ein Liniendiagramm", Schriftgröße=18)
plt.xlabel('num', Schriftgröße= 18).


sns.set_style('darkgrid')

plt. rcParams['font.sans-serif'] = ['STKAITI']
df2 = df1.copy()

df2.index = list(range(0, len(df2)*2, 2))Detaillierte Erklärung von Pythons Seaborn (Datenvisualisierung) dfs = [df2 ['A-Attributwert'], df2['B-Attributwert'], df2['C-Attributwert']]

sns.lineplot(data=dfs)
plt.title("Zeichnen Sie ein Liniendiagramm", Schriftgröße=18)
plt.xlabel('num', Schriftgröße=18)

plt.ylabel('Ein Attributwert', Schriftgröße=16) plt.subplots_adjust(left =0,15, rechts=0,9, unten=0,1, oben=0,9)
plt.show()



        



6. So zeichnen Sie ein Histogramm: displot()

Die sns.displot() Methode verwendet wird um ein Histogramm zu zeichnen

Detaillierte Erklärung von Pythons Seaborn (Datenvisualisierung)

bins=6 bedeutet, die Zeichnung in sechs Intervalle zu unterteilen
rug=True bedeutet, kleine dünne Balken mit Beobachtungen auf der x-Achse anzuzeigen

kde=True bedeutet, Kerndichtekurven anzuzeigen

sns. set_style('darkgrid')

plt.rcParams['font.sans-serif'] = [ 'STKAITI'] sns.displot(data=df1[['C attribute value']], bins=6, rug=True , kde=True)
plt.title("Histogramm", Schriftgröße=18)
plt .xlabel('C-Attributwert', Schriftgröße=18)
plt.ylabel('Menge', Schriftgröße=16)

plt.subplots_adjust (links = 0,15, rechts = 0,9, unten = 0,1, oben = 0,9)
PLT.



sns.set_style('darkgrid')
plt.rcParams['font .sans-serif'] = ['STKAITI']
np.random.seed(13)
Y = np.random.randn(300 )
sns.displot(Y, bins=9, rug=True, kde=True)
plt.title("Histogramm", Schriftgröße=18)
plt.xlabel('C-Attributwert', Schriftgröße=18)

plt .ylabel('Menge', Schriftgröße=16)
plt.subplots_adjust(left= 0,15, rechts=0,9, unten=0,1, oben=0,9)

plt.show()Detaillierte Erklärung von Pythons Seaborn (Datenvisualisierung)


˜ ˜ ˜ ˜ ˜ 7. Zu Zeichnen Sie ein Balkendiagramm barplot()

Verwenden Sie barplot(), um ein Balkendiagramm zu zeichnen. Methode

Verwenden Sie Produkttyp-Felddaten als X-Achsen-Daten und A-Attributwertdaten als Y-Achsen-Daten. Klassifizieren Sie nach verschiedenen Herstellernummernfeldern. Details sind wie folgt:

sns.set_style('darkgrid')
plt.rcParams['font.sans-serif'] = ['STKAITI']
sns.barplot(x="Produkttyp", y='Ein Attributwert', hue="Herstellernummer", data=df1)
plt.title("Balkendiagramm", Schriftgröße=18)
plt.xlabel('Produkttyp', Schriftgröße=18)
plt.ylabel('Menge', Schriftgröße = 16).
Zeichnen Sie die lineare Regression auf Das Modell verwendet die lmplot()-Methode.
Die Hauptparameter sind x, y, Daten. Stellt X-Achsen-Daten, Y-Achsen-Daten bzw. Datensatzdaten dar.

Darüber hinaus können Sie, wie oben erwähnt, Klassifizierungsvariablen über den Farbton angeben;
Spaltenklassifizierungsvariablen über die Spalte angeben, um mehrere horizontale Untergraphen zu zeichnen;

Die Anzahl der Untergraphen; Bilder in jeder Zeile können über col_wrap gesteuert werden. Detaillierte Erklärung von Pythons Seaborn (Datenvisualisierung) Die Höhe des Unterbilds kann über die Größe gesteuert werden.

Die Form der Punkte kann über Markierungen gesteuert werden.

Führen wir eine lineare Regression für den X-Attributwert und den Y-Attributwert durch. Der Code lautet wie folgt:



sns.set_style('darkgrid')
plt.rcParams['font.sans-serif'] = [ 'STKAITI']
sns.lmplot(x="A-Attributwert", y='B-Attributwert', Daten=df1)
plt.title("Lineares Regressionsmodell", Schriftgröße=18)
plt.xlabel(' A-Attributwert', Schriftgröße=18)
plt.ylabel('B-Attributwert', Schriftgröße=16)
plt.subplots_adjust(left=0,15, rechts=0,9, unten=0,15, oben=0,9)
plt.show( )

             




9. Zeichnen der Kerneldichtekarte kdeplot()



9.1 Allgemeine Kerneldichtekarte

Durch das Zeichnen der Summendichtekarte können wir die Verteilungseigenschaften der Probe intuitiver erkennen Daten. Die zum Zeichnen von Kerneldichtediagrammen verwendete Methode ist die Methode kdeplot(). Detaillierte Erklärung von Pythons Seaborn (Datenvisualisierung)

Zeichnen Sie ein Kerndichtediagramm für den A-Attributwert und den B-Attributwert.
Setzen Sie Schatten auf „True“, um den umgebenden Schatten anzuzeigen, andernfalls nur Linien.

sns.set_style('darkgrid') plt.rcParams['font.sans-serif'] = ['STKAITI'] sns.kdeplot(df1["A attribute value"], Shade=True, data=df1, color='r')

sns.kdeplot(df1["B-Attributwert"], Shade=True, data=df1, color='g')

plt.title("Kernel Density Plot", Schriftgröße =18) plt.
9.2 Diagramm der marginalen Kerneldichte

Die Methode sns.jointplot() wird zum Zeichnen des Diagramms der marginalen Kerneldichte verwendet. Der Parametertyp sollte „kde“ sein. Bei Verwendung dieser Methode wird standardmäßig der dunkle Stil verwendet. Es wird nicht empfohlen, andere Stile manuell hinzuzufügen, da das Bild sonst möglicherweise nicht richtig angezeigt wird.


plt.rcParams['font.sans-serif'] = ['STKAITI']
sns.jointplot(x=df1["A-Attributwert"], y=df1["B-Attributwert"], kind=“kde“, space=0)
plt.show()



˜ ˜ ˜ ˜

Detaillierte Erklärung von Pythons Seaborn (Datenvisualisierung)10. Um einen Boxplot zu zeichnen: boxplot()


Die Methode boxplot() wird verwendet Zeichne einen Boxplot.

Die Grundparameter sind x, y, Daten. Darüber hinaus kann es auch

Farbton zur Darstellung des Klassifizierungsfelds
Breite zum Anpassen der Breite des Schranks

Kerbe zur Angabe geben, ob der mittlere Schrank eine Kerbe anzeigt, und die Standardeinstellung False zeigt diese nicht an.

Da die Datenmenge im vorherigen Abschnitt nicht groß genug für die Anzeige ist, wird hier ein weiterer Datensatz generiert:

Detaillierte Erklärung von Pythons Seaborn (Datenvisualisierung)

np.random.seed(13)
Y = np.random.randint( 20, 150, 360)

df2 = pd.DataFrame( {'Herstellernummer': ['001', '001', '001', '002', '002', '002', '003', ' 003', '003', '004', '004', '004'] * 30, 'Produkttyp': ['AAA', 'BBB', 'CCC', 'AAA', 'BBB', ' CCC“, „AAA“, „BBB“, „CCC“, „AAA“, „BBB“, „CCC“] * 30,

„XXX-Attributwert“: Y

} )


Nachdem es generiert wurde, beginnen Sie mit dem Zeichnen des Boxplots:

plt.rcParams['font.sans-serif'] = ['STKAITI']
sns.boxplot(x='Product Type', y ='XXX-Attributwert', data=df2)
plt.show()

        Detaillierte Erklärung von Pythons Seaborn (Datenvisualisierung)


Nach dem Austausch der x- und y-Achsendaten:

plt.rcParams['font.sans - serif'] = ['STKAITI']
sns.boxplot(y='product type', x='XXX attribute value', data=df2)
plt.show()

Sie können den Boxplot sehen Auch die Richtung ändert sich

         Detaillierte Erklärung von Pythons Seaborn (Datenvisualisierung)


Verwenden Sie die Herstellernummer als Klassifizierungsfeld:

plt.rcParams['font.sans-serif'] = ['STKAITI']
sns.boxplot (x='Produkttyp', y='XXX-Attributwert', data=df2, hue="Herstellernummer")
plt.show()

hhh Detaillierte Erklärung von Pythons Seaborn (Datenvisualisierung)

Violin-Plot kombiniert die Funktionen von Boxplot und Kerndichte Plot, um die Verteilungsform der Daten darzustellen.
Verwenden Sie die Methode violinplot(), um den Geigenplot zu zeichnen.


plt.rcParams['font.sans-serif'] = ['STKAITI']
sns.violinplot(x='product type', y='XXX attribute value', data=df2)

plt. show()


        

Detaillierte Erklärung von Pythons Seaborn (Datenvisualisierung)plt.rcParams['font.sans-serif'] = ['STKAITI']

sns.violinplot(x='XXX attribute value', y='product Typ' , data=df2)
plt.show()


      

Detaillierte Erklärung von Pythons Seaborn (Datenvisualisierung)plt.rcParams['font.sans-serif'] = ['STKAITI']

Typ' , y='XXX Attributwert', data=df2, hue="Herstellernummer")
plt.show()


∣ ∣ ∣  

12. Zeichnen Sie eine Heatmap heatmap()Detaillierte Erklärung von Pythons Seaborn (Datenvisualisierung)


Gewinnen Sie den Preis mit zweifarbigen Bällen. Am Beispiel von Zahlendaten zum Zeichnen einer Heatmap werden die Daten hier durch Zufallszahlen generiert.

pandas als pd importieren matplotlib.pyplot als plt importieren

seaborn als sns importieren

sns.set() plt.figure(figsize=(6,6))
plt.rcParams['font.sans -serif'] = ['STKAITI']

s1 = np.random.randint(0, 200, 33)
s2 = np.random.randint(0, 200, 33)
s3 = np.random.randint( 0, 200, 33)
s4 = np.random.randint(0, 200, 33)
s5 = np.random.randint(0, 200, 33)
s6 = np.random.randint(0, 200, 33 )
s7 = np.random.randint(0, 200, 33)
data = pd.DataFrame(
{'eins': s1,
'zwei': s2,
'drei': s3,
'vier': s4,
'fünf':s5,
'sechs':s6,
'seven':s7
}
)
 
plt.title('Double Color Ball Heat Map')
sns.heatmap(data, annot=True , fmt ='d', lw=0.5)
plt.xlabel('Ziffern der Gewinnzahl')
plt.ylabel('Doppelte farbige Kugelzahlen')
x = ['1. Position', '2. Position', '3 Positionsbit“, „4. Bit“, „5. Bit“, „6. Bit“, „7. Bit“]
plt.xticks(range(0, 7, 1), x, ha='left')
plt.show ()




        

Empfohlenes Lernen: Python-Video-TutorialDetaillierte Erklärung von Pythons Seaborn (Datenvisualisierung)

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung von Pythons Seaborn (Datenvisualisierung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen