Heim  >  Artikel  >  Backend-Entwicklung  >  Wie erstelle ich einen Stripplot mit Jitter in Altair Python?

Wie erstelle ich einen Stripplot mit Jitter in Altair Python?

WBOY
WBOYnach vorne
2023-09-03 18:01:011343Durchsuche

Dieses Tutorial erklärt, wie man mit Jitter in Altair Python einen Stripplot erstellt. Verwenden Sie Balkendiagramme mit Dithering in Altair Python, um Datensätze mit kontinuierlichen und kategorialen Variablen schnell und einfach zu visualisieren. In einem Streifendiagramm ist eine der Variablen eine kategoriale Variable und die andere eine kontinuierliche Variable. Ein Streifendiagramm ist eine Art Streudiagramm. Indem wir die Datenpunkte als einzelne Punkte entlang der kategorialen Achse betrachten, können wir die Verteilung der kontinuierlichen Variablen für jede Kategorie sehen. Durch das Dithern der Datenpunkte im gesamten Diagramm lässt sich leichter untersuchen, wie die Daten verteilt sind.

Mit der Funktion mark_circle() zum Erstellen eines Diagramms und der Funktion jitter() zum Hinzufügen eines Jitter-Effekts können wir in Altair Python ein Balkendiagramm mit einem Jitter-Effekt erstellen. Zunächst müssen die x- und y-Variablen des Diagramms mithilfe des Kodierungsparameters angegeben werden. Verwenden Sie dann die Funktion mark_circle(), um das Diagramm zu erstellen, und die Funktion jitter(), um den Jitter-Effekt hinzuzufügen. Sie können das Diagramm auch ändern, indem Sie die Achsenbeschriftungen und das Farbschema ändern und einen Titel hinzufügen. Indem wir diese einfachen Methoden befolgen, können wir in Altair Python ein lesbares und lehrreiches Balkendiagramm mit Jitter-Effekt erstellen.

Grammatik

Altair ist eine Python-Bibliothek, mit der Streifendiagramme mit Dithering erstellt werden können. Hier ist ein Syntaxbeispiel zum Erstellen eines Streifendiagramms mit Dithering mit Altair -

import altair as alt

# create a stripplot with jitter using Altair
alt.Chart(df).mark_circle(size = 14).encode(
   x = alt.X('jitter:Q', title = None, axis = alt.Axis(ticks = True, grid = False, labels = False), scale = alt.Scale()),
   y = alt.Y('Y:Q', scale = alt.Scale()),
   color = alt.Color('C:N', legend = None),
).transform_calculate(
   Jitter = 'sqrt(-2*log(rand()))*cos(2*PI*rand())',
)

Der angegebene Code erstellt mit Altair ein Balkendiagramm mit Jitter-Effekt. Die Methode transform_calculate() berechnet die Quadratwurzel des negativen Doppelten des natürlichen Logarithmus einer Zufallszahl, die mit der Methode rand() im Zufallsmodul von Python generiert wurde, multipliziert mit dem Doppelten von Pi mal einer anderen Zufallszahl, die mit derselben Methode rand() generiert wurde Der Kosinuswert von erzeugt einen Gaußschen Jitter auf der x-Achse. Dadurch wird der Jitter-Wert zur Spalte „Jitter“ des DataFrame hinzugefügt. Dieser Jitter-Wert wird dann mithilfe der Codierung „jitter:Q“ in der Methode alt.X() auf die x-Achse abgebildet.

Beispiel

Der folgende Code verwendet die Altair-Visualisierungsbibliothek in Python, um ein Balkendiagramm mit Jitter-Effekt zu generieren. Der Code verwendet zunächst pandas.DataFrame(), um einen benutzerdefinierten Datensatz zu erstellen, der 100 zufällig generierte X-Werte, Y-Werte und Kategorien enthält. Die x- und y-Werte stellen die Koordinaten der Punkte im Diagramm dar, während die Kategoriespalte die Farbe jedes Punkts bestimmt.

Dann verwenden Sie die Funktion alt.Chart(), um das Diagrammobjekt zu erstellen und rufen Sie die Funktion mark_circle() auf, um anzugeben, dass die Darstellung kreisförmig sein soll. Die Methode encode() wird verwendet, um anzugeben, wie Daten den visuellen Eigenschaften des Diagramms zugeordnet werden, z. B. X- und Y-Positionen und Punktfarben. In diesem Fall fügt die x-Kodierung mithilfe eines berechneten Felds namens Jitter Jitter zur x-Achse hinzu, während die y-Kodierung den y-Wert angibt. Bei der Farbcodierung wird die Kategoriespalte verwendet, um die Punkte einzufärben, und der Parameter legend=None entfernt die Legende. Schließlich wird die Funktion transform_calculate() verwendet, um das Jitter-Feld mithilfe einer Formel zu berechnen, die auf einem Zufallszahlengenerator basiert, der den x-Werten eine kleine Menge Zufallsrauschen hinzufügt und die Punkte horizontal verteilt.

import altair as alt
import pandas as pd
import numpy as np

# create a custom dataset
custom_data = pd.DataFrame({
   'x_values': np.random.randn(100),
   'y_values': np.random.randn(100),
   'category': np.random.choice(['A', 'B', 'C'], 100)
})

# create a stripplot with jitter using Altair
alt.Chart(custom_data).mark_circle(size = 14).encode(
   x=alt.X('jitter:Q', title = None, 
   axis = alt.Axis(ticks = True, grid = False, labels = False), scale = alt.Scale()),
   y=alt.Y('y_values:Q', scale=alt.Scale()),
   color=alt.Color('category:N', legend = None),
).transform_calculate(
   jitter='sqrt(-2*log(random()))*cos(2*PI*random())',
)

Ausgabe

如何在Altair Python中制作带有Jitter的Stripplot?

Beispiel

Dieses Beispiel zeigt, wie man in Altair mithilfe des Iris-Datensatzes ein Streifendiagramm mit Jitter erstellt. Der Code importiert zunächst die erforderlichen Bibliotheken aus der vega_datasets-Bibliothek, einschließlich der Altair- und Iris-Datensätze. Anschließend wird mithilfe der Methode mark_circle ein Altair-Diagramm erstellt, wobei für jeden Datenpunkt ein Kreis erstellt und die x-, y- und Farbvariablen mithilfe der Altair-Klassen X, Y und Color codiert werden.

Dieses Beispiel zeigt, wie man in Altair mithilfe des Iris-Datensatzes ein Streifendiagramm mit Jitter erstellt. Der Code importiert zunächst die erforderlichen Bibliotheken aus der vega_datasets-Bibliothek, einschließlich der Altair- und Iris-Datensätze. Anschließend wird mithilfe der Methode mark_circle ein Altair-Diagramm erstellt, wobei für jeden Datenpunkt ein Kreis erstellt und die x-, y- und Farbvariablen mithilfe der Altair-Klassen X, Y und Color codiert werden.

import altair as alt
from vega_datasets import data

# load the Iris dataset
iris = data.iris()

# create a stripplot with jitter using Altair
alt.Chart(iris).mark_circle(size = 14).encode(
   x = alt.X('jitter:Q', title = None, axis = alt.Axis(ticks = True, grid = False, labels = False), scale = alt.Scale()),
   y = alt.Y('petalWidth:Q', scale = alt.Scale()),
    color = alt.Color('species:N', legend = None),
).transform_calculate(
   jitter = 'sqrt(-2*log(random()))*cos(2*PI*random())',
)

Ausgabe

如何在Altair Python中制作带有Jitter的Stripplot?

Fazit

Zusammenfassend ist die Verwendung von Dithering zum Erstellen von Balkendiagrammen sehr nützlich, um die Verteilung und Variabilität von Datenpunkten anzuzeigen. Das Altair-Paket von Python macht dies einfach und effizient. Benutzer können den Anweisungen in diesem Artikel folgen, einschließlich des Imports der erforderlichen Bibliotheken, des Ladens von Daten und der Kodierung von x-, y- und Farbvariablen, um ein lehrreiches und schönes Diagramm zu erstellen. Durch die Verwendung der transform_calculate-Methode zur Einbeziehung von Jitter wird das Diagramm weiter verbessert, da es jetzt einfacher ist, bestimmte Datenpunkte und Muster in den Daten zu identifizieren.

Alles in allem ist Altair ein leistungsstarkes Python-Datenvisualisierungstool, und die Verwendung von Dither zum Erstellen eines Streifendiagramms ist nur ein Beispiel seiner Fähigkeiten. Sie können eine Vielzahl leistungsstarker und lehrreicher Visualisierungen erstellen, indem Sie mit verschiedenen Datensätzen und visuellen Kodierungen experimentieren. Dank der einfachen Syntax und leistungsstarken Funktionalität von Altair sind die Möglichkeiten zur Datenvisualisierung endlos.

Das obige ist der detaillierte Inhalt vonWie erstelle ich einen Stripplot mit Jitter in Altair Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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