Matplotlib-Stil funktioniert nicht in Pandas Bar Plot

Der Code, den ich verwendet habe, um die Bar-Plot wie pro Pandas Visualisierung Tutorial zu produzieren .

import pandas as pd import matplotlib.pyplot as plt import numpy as np plt.style.use('ggplot') np.random.seed(123456) ts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000)) ts = ts.cumsum() df = pd.DataFrame(np.random.randn(1000, 4), index=ts.index, columns=list('ABCD')) df = df.cumsum() plt.figure() df.ix[5].plot(kind='bar'); plt.axhline(0, color='k') plt.show() 

Ich bekomme:

Bar-Plot mit matplotlib Standard-Farben, wenn ggplot Farben erwartet

Ich erwartete, die Balkenfarben wie im Tutorial (Zinnoberrot) zu bekommen, stattdessen sind die Stäbe die Standard-Matplotlib-blaue Farbe.

Ich vermute, das Problem ist in Pandas. Farben sind richtig, wenn Pandas nicht benutzt wird.

 import matplotlib.pyplot as plt import numpy as np plt.style.use('ggplot') fig, ax = plt.subplots() x = np.arange(5) y1, y2 = np.random.randint(1, 25, size=(2, 5)) width = 0.25 ax.bar(x, y1, width) ax.bar(x + width, y2, width) ax.set_xticks(x + width) ax.set_xticklabels(['a', 'b', 'c', 'd', 'e']) plt.show() 

Ich habe meine Umgebung mit conda.

 In [22]: pd.__version__ Out[22]: u'0.17.1' 

Wie bekomme ich Pandas die richtigen Farben?

  • Hinzufügen der gleichen Patch-Instanz zu mehreren Subplots in Matplotlib
  • Erstellen von Wahrscheinlichkeits- / Frequenz-Achsen-Raster (unregelmäßig geschnitten) mit Matplotlib
  • Unendliche horizontale Linie in Bokeh
  • Individuell markierte Balken für Balkendiagramme in Matplotlib / Python
  • Matplotlib 2D Scheibe von 3D Daten
  • Pandas Multicolumn Groupby Plotten
  • Plotten mit matplotlib specgram?
  • Matplotlib: Imhow in 3D-Handlung
  • 2 Solutions collect form web for “Matplotlib-Stil funktioniert nicht in Pandas Bar Plot”

    Wie ali_m in den Kommentaren darauf hingewiesen hat, ist es der Bug in der neuesten Version von Pandas (0.17.1) bei der Verwendung von matplotlib Version 1.5.0.

    Das Update wird in der nächsten Pandas-Version sein.

    Bis die neue Freigabe aus ist, lief ich

     pip install git+git://github.com/pydata/pandas.git@master 

    In meiner conda Umgebung, um die neuesten Fixes zu bekommen.

    Dieser Fehler scheint jetzt behoben zu sein. Ich bekomme vermillion Bars, wenn ich den Code in der ursprünglichen Frage ausführe.

    Python ist die beste Programmiersprache der Welt.