Ich habe einen Datenrahmen mit einer Spalte mit zwei Arten von Metriken. Ich habe es mit Seeborn.Facetgrid aufgetragen und eine Metrik pro Zeile festgelegt. Mein Ziel ist es, das y-Achse-Etikett für jede Facette um die entsprechende Metrik umzubenennen.
import pandas as pd
import numpy as np
import seaborn as sns
# Generate random data
categories = [1] * 5 + [2] * 5
n = len(categories) # Number of rows
data = {
"model": np.random.choice(categories, size=n, replace=False), # 1 = RF, 2 = SVM
"metric": np.random.choice(categories, size=n, replace=False), # 1 = kappa, 2 = accuracy
"predictors": np.random.choice(categories, size=n, replace=False),
"value": np.random.uniform(0.7, 1, size=n)
}
# Convert to DataFrame
df = pd.DataFrame(data)
# Replace numerical categories with text labels
df["model"] = df["model"].map({1: "RF", 2: "SVM"}).astype("category")
df["metric"] = df["metric"].map({1: "kappa", 2: "accuracy"}).astype("category")
g = sns.FacetGrid(df, col="model", row="metric", hue="predictors", palette="tab10")
g.map(sns.barplot, "predictors", "value", legend=True, order=sorted(df['predictors']))
g.set_axis_labels(x_var="Predictors ID")
g.set_titles(template="{row_name}, {col_name}")
g.add_legend()
< /code>
Ich weiß, dass, wie in diesem Beitrag erwähnt, die Beschriftungen durch Zugriff auf Matplotlib-Optionen geändert werden können.for i, model in enumerate(np.sort(pd.unique(df["metric"]))):
g.axes[i,0].set_ylabel(model)
Ich möchte jedoch wissen, ob es eine Methode innerhalb von Seeborns FacetGrid gibt-ähnlich zu set_titles mit dem Vorlagenargument, um die y-axis-Bezeichnungen direkt zu modifizieren.>
Ich habe einen Datenrahmen mit einer Spalte mit zwei Arten von Metriken. Ich habe es mit Seeborn.Facetgrid aufgetragen und eine Metrik pro Zeile festgelegt. Mein Ziel ist es, das y-Achse-Etikett für jede Facette um die entsprechende Metrik umzubenennen.[code]import pandas as pd import numpy as np import seaborn as sns
# Generate random data categories = [1] * 5 + [2] * 5 n = len(categories) # Number of rows
# Replace numerical categories with text labels df["model"] = df["model"].map({1: "RF", 2: "SVM"}).astype("category") df["metric"] = df["metric"].map({1: "kappa", 2: "accuracy"}).astype("category")
g = sns.FacetGrid(df, col="model", row="metric", hue="predictors", palette="tab10") g.map(sns.barplot, "predictors", "value", legend=True, order=sorted(df['predictors'])) g.set_axis_labels(x_var="Predictors ID") g.set_titles(template="{row_name}, {col_name}") g.add_legend() < /code> Ich weiß, dass, wie in diesem Beitrag erwähnt, die Beschriftungen durch Zugriff auf Matplotlib-Optionen geändert werden können.for i, model in enumerate(np.sort(pd.unique(df["metric"]))): g.axes[i,0].set_ylabel(model) [/code] Ich möchte jedoch wissen, ob es eine Methode innerhalb von Seeborns FacetGrid gibt-ähnlich zu set_titles mit dem Vorlagenargument, um die y-axis-Bezeichnungen direkt zu modifizieren.>
Ich generiere diese Figur mit Seeborn.distplot () . Mein Problem ist, dass die Zecken auf der X-Achse in allen Fällen nicht in die Balken passen. Ich würde eine Beziehung zwischen Balken und Zecken...
Ich generiere diese Figur mit Seeborn.distplot () . Mein Problem ist, dass die Zecken auf der X-Achse in allen Fällen nicht in die Balken passen. Ich würde eine Beziehung zwischen Balken und Zecken...
Gibt es eine Formel, die das Datenarray unter Verwendung des Datenarrays unter Verwendung des Wertes in dem Blatt ändert, den Titel auch im Datenarray und in der Tabelle nachdenken? src =
Der Code:...
Gibt es eine Formel, die das Datenarray unter Verwendung des Datenarrays unter Verwendung des Wertes in dem Blatt ändert, den Titel auch im Datenarray und in der Tabelle nachdenken? src =
Der Code:...
In Histogrammen, die mit Seeborn aufgetragen sind, überlappen sich die Balken, wenn die Verwendung von Hue sich überlappen, die Farben, die häufig nicht zu unterscheiden sind. Das macht es schwierig,...