Ein Online-Jupyter Notebook den Code und zeigt die Farbunterschiede zeigen, ist bei: https://anaconda.org/walter/pandas_seaborn_color/notebookWarum funktioniert die Seaborn-Farbpalette nicht für Pandas-Balkendiagramme?
Die Farben sind falsch, wenn ich bar Plots mit Pandas Datenrahmen Methode machen. Seaborn verbessert die Farbpalette von Matplotlib. Alle Plots von Matplotlib verwenden automatisch die neue Seaborn-Palette. Balkendiagramme aus Pandas-Datenrahmen kehren jedoch zu den Nicht-Seaborn-Farben zurück. Dieses Verhalten ist nicht konsistent, da Liniendiagramme von Pandas-Datenrahmen Seaborn-Farben verwenden. Dadurch erscheinen meine Plots in verschiedenen Stilen, selbst wenn ich Pandas für alle meine Plots verwende.
Wie kann ich mit Pandas-Methoden plotten, während eine konsistente Seaborn-Farbpalette erstellt wird?
Ich führe dies in Python 2.7.11 mit einer Conda-Umgebung mit nur die notwendigen Pakete für diesen Code (Pandas, Matplotlib und Seaborn).
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.DataFrame({'y':[5,7,3,8]})
# matplotlib figure correctly uses Seaborn color palette
plt.figure()
plt.bar(df.index, df['y'])
plt.show()
# pandas bar plot reverts to default matplotlib color palette
df.plot(kind='bar')
plt.show()
# pandas line plots correctly use seaborn color palette
df.plot()
plt.show()
* 1. * Was Ihre Frage ist - haben Sie eine Lösung wissen wollen (und möglich Workaround) oder möchten Sie den Grund für dieses Verhalten wissen? * 2. * Diese Information hängt mit Ihrer Frage zusammen: 'pyplot.scatter' verwendet auch keine Seaborn-Farben (standardmäßig?). – kazemakase
Danke Kazemakase. Ich habe die Frage bearbeitet, um klarzustellen, dass ich gerne wissen möchte, wie ich mithilfe von Pandas-Methoden plotten kann, während ich eine konsistente Seaborn-Farbpalette erhalte. (Natürlich kann der Grund dafür hilfreich sein.) – Walter