Ich möchte auf einem Raster meine Daten mit zugeordneten Fehlerbalken und eine stückweise lineare Regression durch den Mittelwert jedes Zeitpunkts. Ich habe meine Daten in einem Pandas Datenrahmen und möchte uns seaborn, um den Job zu machen.Kombinieren Regplot mit stückweise lineare Regression auf einem Facetgrid mit Seaborn
Wenn ich seaforns factorplot verwende, komme ich nah.
g = sns.factorplot(x="Time", y='value', hue="Name",
col="PEAK", data=meltdf,
size=4, aspect=1.0,col_wrap=3,sharey=False,scale=0.7)
aber feststellen, dass meine xaxis nicht richtig skaliert wird (dies macht Sinn, da die factorplot für kategorische Vergleiche ausgelegt ist)
Wenn ich stattdessen eine FacetGrid und Karte regplot und plt erstellen. Grundstück auf das Gitter I auf den xaxis korrekten Abstand zu bekommen und halten Fehlerbalken etc., aber die lineare Regression ist nicht, wie ich will es
meltdf = pd.melt(Conc_norm.drop(['GLC','pan','Ratio %'],axis=1),
id_vars=['Name','Time'], var_name='PEAK')
g = sns.FacetGrid(meltdf, col="PEAK",hue='Name', col_wrap=4,sharey=False)
g.map(sns.regplot, "Time", "value",fit_reg=False, x_estimator=np.mean);
g.map(plt.plot, "Time", "value");
output for the Facetgrid mapped with regplot and plt.plot
Jetzt kommt die Frage: Wie zeichne ich eine stückweise lineare Regression zwischen den Punkten in der Handlung?
Danke,
ich Ihre zweite Ansatz denken sollte funktionieren, wenn Sie sortieren gefunden haben der Datenrahmen auf 'Zeit' vor dem Plotten. – mwaskom
Sortierung nach der Zeit wird das Aussehen verbessern, aber es wird immer noch eine Linie durch alle Zeit, Wertkoordinaten zeichnen. Was ich will, ist etwas zu malen, ala. df.groupby ('Time'). mean() aber ich kann mir nicht vorstellen, wie man das macht – atomman
Ah, ja, du musst dann eine kleine Plotfunktion schreiben. – mwaskom