Ich habe einen Pandas-Datenrahmen von "factors", floats und integers. Ich möchte "R Lattice" wie Plots darauf machen, indem ich die kategorialen Variablen konditioniere und gruppiere. Ich habe R ausgiebig verwendet und benutzerdefinierte Panel-Funktionen geschrieben, um die Plots genau so zu formatieren, wie ich sie haben wollte, aber ich kämpfe mit Matplotlib, um die gleichen Arten von Plots prägnant zu machen. Ich spiele mit Layouts und subplot2grid herum, aber ich finde es einfach nicht richtig.R Lattice like plots mit Python, Pandas und Matplotlib
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
nRows = 500
df = pd.DataFrame({'c1' : np.random.choice(['A','B','C','D'], size=nRows),
'c2' : np.random.choice(['P','Q','R'], size=nRows),
'i1' : np.random.randint(20,50, nRows),
'i2' : np.random.randint(0,10, nRows),
'x1' : 3 * np.random.randn(nRows) + 90,
'x2' : 2 * np.random.randn(nRows) + 89})
Ich mag würde Dinge wie die folgenden (R Gittercodebeispiele)
für jede Ebene von c1 (Gittercode)x1 gegen x2 plotten vs.
xyplot(x1 ~ x2 | c1, data = df)
x1 x2 für jede Ebene von c1 mit "global" Legende c2 (Symbolen oder Farben)
xyplot(x1 ~ x2 | c1, groups = c2, data = df)
Histogramme von x1 für jeden c2
hist (~x1 | c1, data = df)
Ich bin auch wie die hier produziert zu machen "konditioniert" Konturplots versuchen (1.4.4.4)
https://scipy-lectures.github.io/intro/matplotlib/matplotlib.html
Ich habe durch diese Beispiele lesen: http://nbviewer.ipython.org/github/fonnesbeck/Bios366/blob/master/notebooks/Section2_4-Matplotlib.ipynb
Ich möchte jedoch, dass das Layout aus der Anzahl der Ebenen in der kategorialen Konditionierungsvariable (oder "by") generiert wird. d. h., sie geben eine Anzahl von Spalten an, und die Zeilen werden basierend auf den Nummernebenen berechnet.
Schätzen Sie alle guten Ratschläge oder Schritte in die richtige Richtung. Ich würde es vorziehen, nicht rpy2 oder python ggplot zu verwenden (ich habe mit ihnen herumgespielt - fand sie auch frustrierend und einschränkend).
Danke! Randall
Es gibt einige experimentelle Code in Pandas für Trellis-Plots: http://pandas.pydata.org/pandas-docs/stable/rplot.html. Würde das helfen? Siehe auch http://ggplot.yhathq.com/, das wie ggplot in R ist, unterstützt Facettengitter. – joris
Können Sie einige Beispiele für die Konturplot-Fragen hinzufügen. Seaborn verfügt über Funktionen für Hexbins und 2D-Kde-Plots, die Ihrer Meinung nach das erfüllen, was Sie suchen. – b10n