Ich versuche, einen Box-Plot in Python 2.7 für jeden kategorischen Wert in der Spalte E von dem Pandas Datenrahmen unterPython Side-by-Side-Box-Plots auf derselben Figur
A B C D E
0 0.647366 0.317832 0.875353 0.993592 1
1 0.504790 0.041806 0.113889 0.445370 2
2 0.769335 0.120647 0.749565 0.935732 3
3 0.215003 0.497402 0.795033 0.246890 1
4 0.841577 0.211128 0.248779 0.250432 1
5 0.045797 0.710889 0.257784 0.207661 4
6 0.229536 0.094308 0.464018 0.402725 3
7 0.067887 0.591637 0.949509 0.858394 2
8 0.827660 0.348025 0.507488 0.343006 3
9 0.559795 0.820231 0.461300 0.921024 1
ich bereit wäre zu erzeugen, zu tun dies mit Matplotlib oder einer anderen Plot-Bibliothek. Bis jetzt kann der obige Code alle Kategorien, die auf einem Diagramm kombiniert sind, grafisch darstellen. Hier ist der Code ist es, die oben genannten Daten zu erzeugen, und die Handlung zu erzeugen:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
# Data
df = pd.DataFrame(np.random.rand(10,4),columns=list('ABCD'))
df['E'] = [1,2,3,1,1,4,3,2,3,1]
# Boxplot
bp = ax.boxplot(df.iloc[:,:-1].values, widths=0.2)
plt.show()
In diesem Beispiel sind die Kategorien 1,2,3,4. Ich möchte separate Boxplots Seite an Seite auf der gleichen Figur für nur die Kategorien 1 und 2 darstellen und die Kategorienamen in der Legende zeigen.
Gibt es eine Möglichkeit, dies zu tun?
Weitere Informationen:
Der Ausgang der dritten Figur von here ähnlich aussehen sollte - ersetzen Sie "Ja", "Nein" von "1", "2".
Dieses Beispiel funktioniert nicht Weil Matplotlib die Daten nach Spalten abbildet, gibt es 4 Boxplots mit den Bezeichnungen A, B, C und D. –
Ja, das stimmt. Ich hätte gerne 4 Boxplots für Kategorie 1 und 4 Boxplots für Kategorie 2. Ich fügte einen Link zum OP hinzu, der etwas ähnliches an anderer Stelle zeigt. Ich suche nach einer ähnlichen Handlung dazu. –