it-swarm.com.de

ggplot-Styles in Python

Wenn ich mir den Plotting-Stil in der Pandas-Dokumentation anschaue, sehen die Plots anders aus als die Standarddarstellung. Es scheint das ggplot "Look and Feel" nachzuahmen.

Dasselbe gilt für das Paket von seaborn .

Wie kann ich diesen Style laden? (Auch wenn ich kein Notebook benutze?)

22
Josh

Update: Wenn Sie matplotlib> = 1.4 haben, gibt es ein neues style-Modul, das standardmäßig einen ggplot-Stil hat. Um dies zu aktivieren, verwenden Sie:

from matplotlib import pyplot as plt
plt.style.use('ggplot')

Sie können plt.style.available überprüfen, um alle verfügbaren Stile anzuzeigen.


Für das Seaborn-Styling können Sie Folgendes tun:

plt.style.use('seaborn-white')

oder Sie können seaborns eigene Maschinen verwenden, um das Styling einzurichten:

import seaborn as sns
sns.set()

Die Funktion set() bietet weitere Optionen zur Auswahl eines bestimmten Stils (siehe docs ). Beachten Sie, dass seaborn das zuvor beim Import automatisch durchgeführt hat. Bei den neuesten Versionen (> = 0.8) ist dies jedoch nicht mehr der Fall.


Wenn Sie tatsächlich eine ggplot-artige Syntax auch in Python möchten (und nicht nur das Styling), sehen Sie sich das Paket plotnine an. Hierbei handelt es sich um eine Grammatik der Grafikimplementierung in Python mit einer Syntax, die der von ggplot2 von R sehr ähnlich ist .


Hinweis: Die alte Antwort wurde angegeben, um pd.options.display.mpl_style = 'default' zu tun. Dies wurde jedoch in Pandas zugunsten von Matplotlibs Verwendung von plt.style(..) abgelehnt, und in der Zwischenzeit wird diese Funktionalität sogar von Pandas entfernt.

23
joris

Für die Designs in Python-ggplot können Sie sie mit anderen Plots verwenden:

from ggplot import theme_gray
theme = theme_gray()
with mpl.rc_context():
    mpl.rcParams.update(theme.get_rcParams())

    # plotting commands here

    for ax in plt.gcf().axes:
        theme.post_plot_callback(ax)
5
Jan Katins

Wenn Sie verfügbare Stile sehen müssen:

import matplotlib.pyplot as plt

print(plt.style.available)

Dadurch werden verfügbare Stile gedruckt.

Verwenden Sie diesen Link, um den von Ihnen bevorzugten Stil auszuwählen

https://tonysyu.github.io/raw_content/matplotlib-style-gallery/gallery.html

3
Bodhi94

Die Antwort von Jan Katins ist gut, aber das Python-ggplot-Projekt scheint inaktiv geworden zu sein. Das plotnine-Projekt ist weiterentwickelt und unterstützt eine analoge, aber oberflächlich andere Lösung: 

from plotnine import theme_bw
import matplotlib as mpl
theme = theme_bw()

with mpl.rc_context():
    mpl.rcParams.update(theme.rcParams)
0
groceryheist

Obwohl ich denke, dass joris answer eine bessere Lösung ist, da Sie Pandas verwenden, sollte erwähnt werden, dass Matplotlib mit dem Befehl matplotlib.style.use('ggplot') auf ggplot eingestellt werden kann.

Siehe Beispiele in der Galerie Matplotlib .

0
AllanLRH