2016-08-01 29 views
2

Ich versuche, Boxplots mit einem Streudiagramm für eine Algorithmus-Scoring-Visualisierung zu kombinieren. Meine Daten unterteilt sich wie folgt:Verschiedene Boxplots auf der gleichen OX-Position

  • Ox - Informationen über die Zeitdauer (1 Jahr, 2 Jahre, etc.)
  • oY - Informationen über die Partitur
  • 2 Algorithmen für jede Periode mit verschiedenen Simulations Ergebnisse (als Boxplots aufgetragen)
  • 2 Heuristik mit einem einzigen Wert (als Punkt aufgetragen)

ich versuche einfach für jeden Zeitraum Methode Effizienz zu vergleichen.

Kleine Beispieldaten:

1 year    2 years   
A1 A2 H1 H2 A1 A2 H1 H2 
124 168 155 167 130 130 150 164 
102 155   100 172  
103 153   117 145  
102 132   145 143  
145 170   133 179  
136 125   115 153  
116 150   136 131  
146 192   106 148  
124 122   127 158  
128 123   149 200  
141 158   137 156  

Ich versuche, etwas zu bekommen, die wie folgt aussieht: enter image description here

Bisher habe ich meine Daten aufgeklärt für jeden Algorithmus, um die Beobachtungen zu haben (RS, EA) und für jede Periode (52, 104, 156 usw.) separat like so, aber ich kann nicht herausfinden, wie man sie pro Periode gruppiert, während man 2 verschiedene Boxplots für den gleichen X-Tick zeichnet. Ich nehme an, sobald ich den Boxplot-Datenrahmen und den Plot sortiert habe, kann ich einfach die Streuung oben auftragen.

Antwort

0

Managed dieses mittlerweile zu lösen, falls es hilft jemand anderes aus:

ax1 = sns.boxplot(data = meta, x = 'Time', y = 'PRS', color = '#880BDD', linewidth=0.8) 
ax1 = sns.boxplot(data = meta, x = 'Time', y = 'EA', color = '#0BC9DD', linewidth=0.8) 
ax1 = sns.boxplot(data = meta, x = 'Time', y = 'ERS', color = '#9BD19D', linewidth=0.8) 
ax1 = sns.pointplot(data = simple, x = 'Time', y = 'Greedy Average', color='#FFC48C', markers ='s', join=False) 
ax1 = sns.pointplot(data = simple, x = 'Time', y = 'Greedy Total', color='#FF9F80', markers='o', join=False) 
ax1 = sns.pointplot(data = simple, x = 'Time', y = 'Greedy Weeks', color='#F56991', markers='*', join=False) 
ax1.set(xlabel = "Planning Horizon (weeks)") 
ax1.set(ylabel = "Hypervolume") 
EA = mpatches.Patch(color='#0BC9DD', label = 'EA') 
PRS = mpatches.Patch(color='#880BDD', label = 'PRS') 
ERS = mpatches.Patch(color='#9BD19D', label = 'ERS') 
GA = mlines.Line2D([], [], color='#FFC48C', marker = 's', label = 'Greedy Average') 
GT = mlines.Line2D([], [],color='#FF9F80', label = 'Greedy Total', marker = 'o') 
GW = mlines.Line2D([], [],color='#F56991', label = 'Greedy Weeks', marker = '*') 
plt.legend(handles = [EA, ERS, PRS, GA, GT, GW], loc = 'bottom left', title = "Algorithm") 
ax1.set_title("Algorithm Comparison") 

Ergebnisse in dieser:

enter image description here