Plotten Histogramm mit seaborn für ein dataframe
Ich habe einen dataFrame, die hat mehrere Spalten und viele Zeilen..Viele Zeile hat keinen Wert für die Spalte, also in der Daten-frame seine vertreten, als NaN.
Das Beispiel dataFrame ist wie folgt,
df.head()
GEN Sample_1 Sample_2 Sample_3 Sample_4 Sample_5 Sample_6 Sample_7 Sample_8 Sample_9 Sample_10 Sample_11 Sample_12 Sample_13 Sample_14
A123 9.4697 3.19689 4.8946 8.54594 13.2568 4.93848 3.16809 NAN NAN NAN NAN NAN NAN NAN
A124 6.02592 4.0663 3.9218 2.66058 4.38232 NAN NAN NAN NAN NAN NAN NAN
A125 7.88999 2.51576 4.97483 5.8901 21.1346 5.06414 15.3094 2.68169 8.12449 NAN NAN NAN NAN NAN
A126 5.99825 10.2186 15.2986 7.53729 4.34196 8.75048 16.9358 5.52708 NAN NAN NAN NAN NAN NAN
A127 28.5014 4.86702 NAN NAN NAN NAN NAN NAN NAN NAN NAN NAN NAN NAN
Ich wollte plot-Histogramm für das dataFrame mit seaborn-Funktion aus python und so versuchte ich, die folgenden Zeilen,
sns.set(color_codes=True)
sns.set(style="white", palette="muted")
sns.distplot(df)
Aber Ihre werfen die folgende Fehlermeldung,
ValueError Traceback (most recent call last)
<ipython-input-80-896d7fe85ef3> in <module>()
1 sns.set(color_codes=True)
2 sns.set(style="white", palette="muted")
----> 3 sns.distplot(df)
/anaconda3/lib/python3.4/site-packages/seaborn/distributions.py in distplot(a, bins, hist, kde, rug, fit, hist_kws, kde_kws, rug_kws, fit_kws, color, vertical, norm_hist, axlabel, label, ax)
210 hist_color = hist_kws.pop("color", color)
211 ax.hist(a, bins, orientation=orientation,
--> 212 color=hist_color, **hist_kws)
213 if hist_color != color:
214 hist_kws["color"] = hist_color
/anaconda3/lib/python3.4/site-packages/matplotlib/axes/_axes.py in hist(self, x, bins, range, normed, weights, cumulative, bottom, histtype, align, orientation, rwidth, log, color, label, stacked, **kwargs)
5627 color = mcolors.colorConverter.to_rgba_array(color)
5628 if len(color) != nx:
-> 5629 raise ValueError("color kwarg must have one color per dataset")
5630
5631 # We need to do to 'weights' what was done to 'x'
ValueError: color kwarg must have one color per dataset
Jedem hilft/Vorschläge, um loszuwerden, diese Fehler, wäre sehr dankbar..!!!
Nun, offensichtlich Histogramm-Funktion mapping für 2D-array im Allgemeinen Fall ist nicht definiert. Wie Sie sehen konnten,
ok, können wir es verwenden, mit seaborn, es wäre schön, wenn Ihr es hier..ich bin Anfänger in seaborn Plotten..
Ich würde vorschlagen, Sie zu vermeiden Suche für 1-line-Lösung für Sie Probleme. Beginnen Sie mit
Es ist nicht klar, was Sie gefragt haben. Wollen Sie ein einzelnes Histogramm für alle Werte in der dataframe? Ein separates Histogramm für jede Spalte, oder für jede Zeile? Was du fragst ist derzeit nicht definiert, das ist, warum Sie sehen eine Fehlermeldung.
kannst du bitte Bearbeiten Sie die Frage? Ich verstehe die Frage nur einmal sehe ich die Antwort akzeptiert, aber in seiner derzeitigen form Ihre Frage ist sehr unklar.
distplot
nimmt 1D array
, Series
oder list
. Sie könnten versuchen, pass color=X
wo X
ist im Wörterbuch von color mapping, z.B. {'Sample_1': 'Red', ...}
, aber ich bezweifle, dass es funktionieren wird.ok, können wir es verwenden, mit seaborn, es wäre schön, wenn Ihr es hier..ich bin Anfänger in seaborn Plotten..
Ich würde vorschlagen, Sie zu vermeiden Suche für 1-line-Lösung für Sie Probleme. Beginnen Sie mit
matplotlib
(seaborn
nur Reihe von erweiterten Werkzeugen arbeiten über die matplotlib
). Für Ihre Aufgabe, zuordnen Reihe von Nebenhandlungen (plt.subplots(nrows=?, ncols=?)
), Durchlaufen df
Spalten und rufen matplotlib
's hist
für jedes paar subplot
+ column
.Es ist nicht klar, was Sie gefragt haben. Wollen Sie ein einzelnes Histogramm für alle Werte in der dataframe? Ein separates Histogramm für jede Spalte, oder für jede Zeile? Was du fragst ist derzeit nicht definiert, das ist, warum Sie sehen eine Fehlermeldung.
kannst du bitte Bearbeiten Sie die Frage? Ich verstehe die Frage nur einmal sehe ich die Antwort akzeptiert, aber in seiner derzeitigen form Ihre Frage ist sehr unklar.
InformationsquelleAutor user1017373 | 2015-10-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hatte ich auch gedacht, die
seaborn
- Dokumentation erwähnt, dass mehrere Spalten könnte gezeichnet werden gleichzeitig und hervorgehoben durch Farbe standardmäßig.Aber nach re-Lektüre, dass ich nichts sehen konnte. Stattdessen denke ich, folgerte ich es aus dieses tutorial, wo ein Teil des Weges durch das tutorial Grundstücke einen Daten-frame mit mehreren Spalten.
Jedoch die "Lösung" ist trivial, und hoffentlich genau das, was du suchst:
Standardmäßig wird das ändern der Farben, "wissen", die man bereits verwendet wurde.
Hinweis: ich habe einen anderen Daten-Satz, da ich mir nicht sicher, wie Sie Sie neu erstellen Ihre.
InformationsquelleAutor Mike Williamson
Nehmen wir an, ich habe den Auszug aus den Daten, die Sie haben oben gezeigt (mit dem einzigen Unterschied, dass auf meinem Rechner
NAN
istNaN
).Dann, die beste grafische Darstellung ich denken kann, ist gruppierten barplot: eine Gruppe für jede Probe in jeder Gruppe gibt es gen-bars (einige Leute nennen das Histogramm gelegentlich)
Damit zu tun, dass, müssen Sie sich zunächst zu "Schmelzen" Ihre Daten, in
R
Melkstand, D. H. es "lange". Anschließend können Sie mit Plot.Bitte lassen Sie uns wissen, ob dies ist die Art von plot, Sie waren nach.
InformationsquelleAutor Sergey Bushmanov
Ich hatte ähnliches problem, weil meine pandas.DataFrame hatte Elemente des Typs Objekt in einer Spalte wollte ich plot (my_column). Also, dass der Befehl:
mir gab:
War die Lösung
Als Datentyp my_column umgewandelt:
InformationsquelleAutor Ivan Zhovannik