Skip to content

Instantly share code, notes, and snippets.

@fuji246
Last active July 10, 2019 00:14
Show Gist options
  • Save fuji246/ca2858c9c231cd0df9cf467c82309842 to your computer and use it in GitHub Desktop.
Save fuji246/ca2858c9c231cd0df9cf467c82309842 to your computer and use it in GitHub Desktop.
box plot example
'''
server, direction, bitrate, case, buftune, frto_response, tcp_abc
HZ, uplink, 15, 150 ms, 0, 0, 0
HZ, uplink, 22.1, 150 ms, 0, 0, 0
HZ, uplink, 20.6, 150 ms, 0, 0, 0
HZ, uplink, 11.5, 150 ms, 0, 0, 0
HZ, uplink, 9.83, 150 ms, 0, 0, 0
HZ, uplink, 7.8, 150 ms, 0, 0, 0
HZ, uplink, 14.4, 150 ms, 0, 0, 0
HZ, uplink, 12.7, 150 ms, 0, 0, 0
HZ, uplink, 33.3, 150 ms, 0, 0, 0
HZ, uplink, 11.0, 150 ms, 0, 0, 0
HZ,
HZ, downlink, 56.7, 150 ms, 0, 0, 0
HZ, downlink, 47.3, 150 ms, 0, 0, 0
HZ, downlink, 33.4, 150 ms, 0, 0, 0
HZ, downlink, 57.5, 150 ms, 0, 0, 0
HZ, downlink, 65.6, 150 ms, 0, 0, 0
HZ, downlink, 33.3, 150 ms, 0, 0, 0
HZ, downlink, 60.2, 150 ms, 0, 0, 0
HZ, downlink, 52.1, 150 ms, 0, 0, 0
HZ, downlink, 62.8, 150 ms, 0, 0, 0
HZ, downlink, 49.0, 150 ms, 0, 0, 0
HZ,
HZ, uplink, 0.688, 150 ms 5% loss, 0, 0, 0
HZ, uplink, 0.597, 150 ms 5% loss, 0, 0, 0
HZ, uplink, 0.581, 150 ms 5% loss, 0, 0, 0
HZ, uplink, 0.514, 150 ms 5% loss, 0, 0, 0
HZ, uplink, 0.609, 150 ms 5% loss, 0, 0, 0
HZ, uplink, 0.360, 150 ms 5% loss, 0, 0, 0
HZ, uplink, 0.571, 150 ms 5% loss, 0, 0, 0
HZ, uplink, 0.710, 150 ms 5% loss, 0, 0, 0
HZ, uplink, 0.557, 150 ms 5% loss, 0, 0, 0
HZ, uplink, 0.399, 150 ms 5% loss, 0, 0, 0
HZ,
HZ, downlink, 0.211, 150 ms 5% loss, 0, 0, 0
HZ, downlink, 0.298, 150 ms 5% loss, 0, 0, 0
HZ, downlink, 0.272, 150 ms 5% loss, 0, 0, 0
HZ, downlink, 0.296, 150 ms 5% loss, 0, 0, 0
HZ, downlink, 0.273, 150 ms 5% loss, 0, 0, 0
HZ, downlink, 0.295, 150 ms 5% loss, 0, 0, 0
HZ, downlink, 0.254, 150 ms 5% loss, 0, 0, 0
HZ, downlink, 0.421, 150 ms 5% loss, 0, 0, 0
HZ, downlink, 0.305, 150 ms 5% loss, 0, 0, 0
HZ, downlink, 0.268, 150 ms 5% loss, 0, 0, 0
HZ,
HZ, uplink, 17, 150 ms, 1, 0, 0
HZ, uplink, 11.7, 150 ms, 1, 0, 0
HZ, uplink, 11.9, 150 ms, 1, 0, 0
HZ, uplink, 11.9, 150 ms, 1, 0, 0
HZ, uplink, 11.6, 150 ms, 1, 0, 0
HZ, uplink, 14.6, 150 ms, 1, 0, 0
HZ, uplink, 10.1, 150 ms, 1, 0, 0
HZ, uplink, 11.5, 150 ms, 1, 0, 0
HZ, uplink, 13.6, 150 ms, 1, 0, 0
HZ, uplink, 11.3, 150 ms, 1, 0, 0
HZ,
HZ, downlink, 45.8, 150 ms, 1, 0, 0
HZ, downlink, 40, 150 ms, 1, 0, 0
HZ, downlink, 22.5, 150 ms, 1, 0, 0
HZ, downlink, 64.2, 150 ms, 1, 0, 0
HZ, downlink, 52.3, 150 ms, 1, 0, 0
HZ, downlink, 49.1, 150 ms, 1, 0, 0
HZ, downlink, 61.4, 150 ms, 1, 0, 0
HZ, downlink, 47.5, 150 ms, 1, 0, 0
HZ, downlink, 47.2, 150 ms, 1, 0, 0
HZ, downlink, 44.5, 150 ms, 1, 0, 0
HZ,
HZ, uplink, 0.895, 150 ms 5% loss, 1, 0, 0
HZ, uplink, 0.665, 150 ms 5% loss, 1, 0, 0
HZ, uplink, 0.525, 150 ms 5% loss, 1, 0, 0
HZ, uplink, 0.555, 150 ms 5% loss, 1, 0, 0
HZ, uplink, 0.599, 150 ms 5% loss, 1, 0, 0
HZ, uplink, 1.23, 150 ms 5% loss, 1, 0, 0
HZ, uplink, 0.771, 150 ms 5% loss, 1, 0, 0
HZ, uplink, 0.935, 150 ms 5% loss, 1, 0, 0
HZ, uplink, 0.995, 150 ms 5% loss, 1, 0, 0
HZ, uplink, 0.595, 150 ms 5% loss, 1, 0, 0
HZ,
HZ, downlink, 0.388, 150 ms 5% loss, 1, 0, 0
HZ, downlink, 0.45, 150 ms 5% loss, 1, 0, 0
HZ, downlink, 0.432, 150 ms 5% loss, 1, 0, 0
HZ, downlink, 0.415, 150 ms 5% loss, 1, 0, 0
HZ, downlink, 0.409, 150 ms 5% loss, 1, 0, 0
HZ, downlink, 0.411, 150 ms 5% loss, 1, 0, 0
HZ, downlink, 0.442, 150 ms 5% loss, 1, 0, 0
HZ, downlink, 0.370, 150 ms 5% loss, 1, 0, 0
HZ, downlink, 0.414, 150 ms 5% loss, 1, 0, 0
HZ, downlink, 0.529, 150 ms 5% loss, 1, 0, 0
HZ,
HZ, downlink, 0.399, 150 ms 5% loss, 1, 2, 0
HZ, downlink, 0.708, 150 ms 5% loss, 1, 2, 0
HZ, downlink, 0.450, 150 ms 5% loss, 1, 2, 0
HZ, downlink, 0.364, 150 ms 5% loss, 1, 2, 0
HZ, downlink, 0.478, 150 ms 5% loss, 1, 2, 0
HZ, downlink, 0.637, 150 ms 5% loss, 1, 2, 0
HZ, downlink, 0.443, 150 ms 5% loss, 1, 2, 0
HZ, downlink, 0.410, 150 ms 5% loss, 1, 2, 0
HZ, downlink, 0.423, 150 ms 5% loss, 1, 2, 0
HZ, downlink, 0.477, 150 ms 5% loss, 1, 2, 0
HZ,
HZ, downlink, 0.693, 150 ms 5% loss, 1, 0, 2
HZ, downlink, 0.478, 150 ms 5% loss, 1, 0, 2
HZ, downlink, 0.467, 150 ms 5% loss, 1, 0, 2
HZ, downlink, 0.491, 150 ms 5% loss, 1, 0, 2
HZ, downlink, 0.426, 150 ms 5% loss, 1, 0, 2
HZ, downlink, 0.412, 150 ms 5% loss, 1, 0, 2
HZ, downlink, 0.499, 150 ms 5% loss, 1, 0, 2
HZ, downlink, 0.365, 150 ms 5% loss, 1, 0, 2
HZ, downlink, 0.543, 150 ms 5% loss, 1, 0, 2
HZ, downlink, 0.896, 150 ms 5% loss, 1, 0, 2
HZ,
HZ, downlink, 13.2, 150 ms, 1, 2, 0
HZ, downlink, 8.95, 150 ms, 1, 2, 0
HZ, downlink, 14.7, 150 ms, 1, 2, 0
HZ, downlink, 15.6, 150 ms, 1, 2, 0
HZ, downlink, 41.7, 150 ms, 1, 2, 0
HZ, downlink, 31.7, 150 ms, 1, 2, 0
HZ, downlink, 20.5, 150 ms, 1, 2, 0
HZ, downlink, 10.3, 150 ms, 1, 2, 0
HZ, downlink, 40.5, 150 ms, 1, 2, 0
HZ, downlink, 25, 150 ms, 1, 2, 0
HZ,
HZ, downlink, 53.3, 150 ms, 1, 0, 2
HZ, downlink, 38.1, 150 ms, 1, 0, 2
HZ, downlink, 19.3, 150 ms, 1, 0, 2
HZ, downlink, 11.6, 150 ms, 1, 0, 2
HZ, downlink, 6.2, 150 ms, 1, 0, 2
HZ, downlink, 14.1, 150 ms, 1, 0, 2
HZ, downlink, 20.5, 150 ms, 1, 0, 2
HZ, downlink, 27.8, 150 ms, 1, 0, 2
HZ, downlink, 57.5, 150 ms, 1, 0, 2
HZ, downlink, 11.4, 150 ms, 1, 0, 2
HZ,
HZ, downlink, 5.21, 150 ms delaydist, 1, 0, 0
HZ, downlink, 3.97, 150 ms delaydist, 1, 0, 0
HZ, downlink, 4.67, 150 ms delaydist, 1, 0, 0
HZ, downlink, 3.28, 150 ms delaydist, 1, 0, 0
HZ, downlink, 4.61, 150 ms delaydist, 1, 0, 0
HZ, downlink, 2.61, 150 ms delaydist, 1, 0, 0
HZ, downlink, 4.33, 150 ms delaydist, 1, 0, 0
HZ, downlink, 4.04, 150 ms delaydist, 1, 0, 0
HZ, downlink, 3.10, 150 ms delaydist, 1, 0, 0
HZ, downlink, 3.74, 150 ms delaydist, 1, 0, 0
HZ,
HZ, downlink, 1.80, 150 ms delaydist, 1, 2, 0
HZ, downlink, 3.80, 150 ms delaydist, 1, 2, 0
HZ, downlink, 4.09, 150 ms delaydist, 1, 2, 0
HZ, downlink, 4.17, 150 ms delaydist, 1, 2, 0
HZ, downlink, 4.14, 150 ms delaydist, 1, 2, 0
HZ, downlink, 3.14, 150 ms delaydist, 1, 2, 0
HZ, downlink, 4.14, 150 ms delaydist, 1, 2, 0
HZ, downlink, 4.14, 150 ms delaydist, 1, 2, 0
HZ, downlink, 3.95, 150 ms delaydist, 1, 2, 0
HZ, downlink, 1.88, 150 ms delaydist, 1, 2, 0
DMZ, uplink, 2.67, 5% loss, 0, 0, 0
DMZ, uplink, 4.56, 5% loss, 0, 0, 0
DMZ, uplink, 2.81, 5% loss, 0, 0, 0
DMZ, uplink, 3.27, 5% loss, 0, 0, 0
DMZ, uplink, 3.62, 5% loss, 0, 0, 0
DMZ, uplink, 3.58, 5% loss, 0, 0, 0
DMZ, uplink, 3.28, 5% loss, 0, 0, 0
DMZ, uplink, 2.96, 5% loss, 0, 0, 0
DMZ, uplink, 3.32, 5% loss, 0, 0, 0
DMZ, uplink, 3.26, 5% loss, 0, 0, 0
DMZ, uplink, 6.29, 5% loss, 1, 0, 0
DMZ, uplink, 6.57, 5% loss, 1, 0, 0
DMZ, uplink, 5.94, 5% loss, 1, 0, 0
DMZ, uplink, 5.86, 5% loss, 1, 0, 0
DMZ, uplink, 5.75, 5% loss, 1, 0, 0
DMZ, uplink, 2.35, 5% loss, 1, 0, 0
DMZ, uplink, 5.84, 5% loss, 1, 0, 0
DMZ, uplink, 7.49, 5% loss, 1, 0, 0
DMZ, uplink, 4.86, 5% loss, 1, 0, 0
DMZ, uplink, 2.87, 5% loss, 1, 0, 0
DMZ, uplink, 94.0, 2 ms, 0, 0, 0
DMZ, uplink, 92.4, 2 ms, 0, 0, 0
DMZ, uplink, 93.2, 2 ms, 0, 0, 0
DMZ, uplink, 93.9, 2 ms, 0, 0, 0
DMZ, uplink, 94.1, 2 ms, 0, 0, 0
DMZ, uplink, 93.1, 2 ms, 0, 0, 0
DMZ, uplink, 93.7, 2 ms, 0, 0, 0
DMZ, uplink, 92.5, 2 ms, 0, 0, 0
DMZ, uplink, 90.2, 2 ms, 0, 0, 0
DMZ, uplink, 93.5, 2 ms, 0, 0, 0
DMZ, uplink, 93.6, 2 ms, 1, 0, 0
DMZ, uplink, 93.9, 2 ms, 1, 0, 0
DMZ, uplink, 93.3, 2 ms, 1, 0, 0
DMZ, uplink, 93.4, 2 ms, 1, 0, 0
DMZ, uplink, 93.4, 2 ms, 1, 0, 0
DMZ, uplink, 93.7, 2 ms, 1, 0, 0
DMZ, uplink, 89.9, 2 ms, 1, 0, 0
DMZ, uplink, 93.6, 2 ms, 1, 0, 0
DMZ, uplink, 93.6, 2 ms, 1, 0, 0
DMZ, uplink, 92.2, 2 ms, 1, 0, 0
DMZ, uplink, 38.2, 150 ms, 0, 0, 0
DMZ, uplink, 37.2, 150 ms, 0, 0, 0
DMZ, uplink, 37.4, 150 ms, 0, 0, 0
DMZ, uplink, 37.3, 150 ms, 0, 0, 0
DMZ, uplink, 32.0, 150 ms, 0, 0, 0
DMZ, uplink, 33.3, 150 ms, 0, 0, 0
DMZ, uplink, 39.1, 150 ms, 0, 0, 0
DMZ, uplink, 37.7, 150 ms, 0, 0, 0
DMZ, uplink, 37.5, 150 ms, 0, 0, 0
DMZ, uplink, 37.9, 150 ms, 0, 0, 0
DMZ, uplink, 46.0, 150 ms, 1, 0, 0
DMZ, uplink, 46.0, 150 ms, 1, 0, 0
DMZ, uplink, 42.7, 150 ms, 1, 0, 0
DMZ, uplink, 41.6, 150 ms, 1, 0, 0
DMZ, uplink, 46.2, 150 ms, 1, 0, 0
DMZ, uplink, 44.5, 150 ms, 1, 0, 0
DMZ, uplink, 41.5, 150 ms, 1, 0, 0
DMZ, uplink, 46.2, 150 ms, 1, 0, 0
DMZ, uplink, 38.2, 150 ms, 1, 0, 0
DMZ, uplink, 42.9, 150 ms, 1, 0, 0
DMZ, downlink, 96.1, 2 ms, 1, 0, 0
DMZ, downlink, 96.4, 2 ms, 1, 0, 0
DMZ, downlink, 95.6, 2 ms, 1, 0, 0
DMZ, downlink, 94.8, 2 ms, 1, 0, 0
DMZ, downlink, 96.3, 2 ms, 1, 0, 0
DMZ, downlink, 94.9, 2 ms, 1, 0, 0
DMZ, downlink, 95.4, 2 ms, 1, 0, 0
DMZ, downlink, 95.9, 2 ms, 1, 0, 0
DMZ, downlink, 95.4, 2 ms, 1, 0, 0
DMZ, downlink, 95.2, 2 ms, 1, 0, 0
DMZ, downlink, 7.21, 5% loss, 1, 0, 0
DMZ, downlink, 8.21, 5% loss, 1, 0, 0
DMZ, downlink, 6.97, 5% loss, 1, 0, 0
DMZ, downlink, 7.70, 5% loss, 1, 0, 0
DMZ, downlink, 7.46, 5% loss, 1, 0, 0
DMZ, downlink, 7.57, 5% loss, 1, 0, 0
DMZ, downlink, 7.96, 5% loss, 1, 0, 0
DMZ, downlink, 8.32, 5% loss, 1, 0, 0
DMZ, downlink, 8.12, 5% loss, 1, 0, 0
DMZ, downlink, 51.5, 150 ms, 1, 0, 0
DMZ, downlink, 44.2, 150 ms, 1, 0, 0
DMZ, downlink, 53.1, 150 ms, 1, 0, 0
DMZ, downlink, 46.5, 150 ms, 1, 0, 0
DMZ, downlink, 32.1, 150 ms, 1, 0, 0
DMZ, downlink, 53.6, 150 ms, 1, 0, 0
DMZ, downlink, 52.8, 150 ms, 1, 0, 0
DMZ, downlink, 54.2, 150 ms, 1, 0, 0
DMZ, downlink, 52.8, 150 ms, 1, 0, 0
DMZ, downlink, 44.8, 150 ms, 1, 0, 0
DMZ, downlink, 44.9, 150 ms, 0, 0, 0
DMZ, downlink, 44.9, 150 ms, 0, 0, 0
DMZ, downlink, 42.7, 150 ms, 0, 0, 0
DMZ, downlink, 16.1, 150 ms, 0, 0, 0
DMZ, downlink, 53.1, 150 ms, 0, 0, 0
DMZ, downlink, 53.8, 150 ms, 0, 0, 0
DMZ, downlink, 48.3, 150 ms, 0, 0, 0
DMZ, downlink, 52.2, 150 ms, 0, 0, 0
DMZ, downlink, 52.6, 150 ms, 0, 0, 0
DMZ, downlink, 52.4, 150 ms, 0, 0, 0
DMZ, downlink, 8.42, 5% loss, 0, 0, 0
DMZ, downlink, 7.21, 5% loss, 0, 0, 0
DMZ, downlink, 8.74, 5% loss, 0, 0, 0
DMZ, downlink, 8.65, 5% loss, 0, 0, 0
DMZ, downlink, 7.95, 5% loss, 0, 0, 0
DMZ, downlink, 7.84, 5% loss, 0, 0, 0
DMZ, downlink, 8.43, 5% loss, 0, 0, 0
DMZ, downlink, 8.24, 5% loss, 0, 0, 0
DMZ, downlink, 6.99, 5% loss, 0, 0, 0
DMZ, downlink, 8.18, 5% loss, 0, 0, 0
DMZ, downlink, 95.0, 2 ms, 0, 0, 0
DMZ, downlink, 96.5, 2 ms, 0, 0, 0
DMZ, downlink, 95.7, 2 ms, 0, 0, 0
DMZ, downlink, 88.9, 2 ms, 0, 0, 0
DMZ, downlink, 96.5, 2 ms, 0, 0, 0
DMZ, downlink, 96.8, 2 ms, 0, 0, 0
DMZ, downlink, 96.7, 2 ms, 0, 0, 0
DMZ, downlink, 95.4, 2 ms, 0, 0, 0
DMZ, downlink, 95.9, 2 ms, 0, 0, 0
DMZ, downlink, 93.4, 2 ms, 0, 0, 0
DMZ, downlink, 1.95, delaydist, 0, 0, 0
DMZ, downlink, 1.95, delaydist, 0, 0, 0
DMZ, downlink, 1.70, delaydist, 0, 0, 0
DMZ, downlink, 2.19, delaydist, 0, 0, 0
DMZ, downlink, 2.07, delaydist, 0, 0, 0
DMZ, downlink, 1.72, delaydist, 0, 0, 0
DMZ, downlink, 1.45, delaydist, 0, 0, 0
DMZ, downlink, 1.70, delaydist, 0, 0, 0
DMZ, downlink, 1.94, delaydist, 0, 0, 0
DMZ, downlink, 2.08, delaydist, 0, 0, 0
DMZ, downlink, 1.70, delaydist, 0, 2, 0
DMZ, downlink, 1.58, delaydist, 0, 2, 0
DMZ, downlink, 2.08, delaydist, 0, 2, 0
DMZ, downlink, 2.08, delaydist, 0, 2, 0
DMZ, downlink, 1.94, delaydist, 0, 2, 0
DMZ, downlink, 1.95, delaydist, 0, 2, 0
DMZ, downlink, 1.85, delaydist, 0, 2, 0
DMZ, downlink, 1.96, delaydist, 0, 2, 0
DMZ, downlink, 1.59, delaydist, 0, 2, 0
DMZ, downlink, 1.58, delaydist, 0, 2, 0
DMZ, downlink, 2.31, delaydist, 0, 0, 2
DMZ, downlink, 1.95, delaydist, 0, 0, 2
DMZ, downlink, 2.19, delaydist, 0, 0, 2
DMZ, downlink, 2.08, delaydist, 0, 0, 2
DMZ, downlink, 1.60, delaydist, 0, 0, 2
DMZ, downlink, 1.97, delaydist, 0, 0, 2
DMZ, downlink, 1.95, delaydist, 0, 0, 2
DMZ, downlink, 1.57, delaydist, 0, 0, 2
DMZ, downlink, 1.84, delaydist, 0, 0, 2
DMZ, downlink, 1.45, delaydist, 0, 0, 2
'''
import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import os
mpl.rcParams['figure.figsize'] = (8, 15)
site = 'HZ'
figpath = 'boxplot-%s.png' % site
df = pd.read_csv('tcp-tune.csv', sep='\s*,\s*')
#print(df)
# buf tune
df_case_delay150_buftune_uplink = df[(df.server == site) & (df.case == '150 ms') & (df.frto_response == 0) & (df.tcp_abc == 0) & (df.direction == 'uplink')]
df_case_delay150_buftune_downlink = df[(df.server == site ) & (df.case == '150 ms') & (df.frto_response == 0) & (df.tcp_abc == 0) & (df.direction == 'downlink')]
df_case_delay150_loss5_buftune_uplink = df[(df.server == site) & (df.case == '150 ms 5% loss') & (df.frto_response == 0) & (df.tcp_abc == 0) & (df.direction == 'uplink')]
df_case_delay150_loss5_buftune_downlink = df[(df.server == site) & (df.case == '150 ms 5% loss') & (df.frto_response == 0) & (df.tcp_abc == 0) & (df.direction == 'downlink')]
# frto response
df_case_delay150_frto_downlink = df[(df.server == site) & (df.case == '150 ms') & (df.buftune == 1) & (df.tcp_abc == 0) & (df.direction == 'downlink')]
df_case_delay150_loss5_frto_downlink = df[(df.server == site) & (df.case == '150 ms 5% loss') & (df.buftune == 1) & (df.tcp_abc == 0) & (df.direction == 'downlink')]
df_case_delaydist_frto_downlink = df[(df.server == site) & (df.case == '150 ms delaydist') & (df.buftune == 1) & (df.tcp_abc == 0) & (df.direction == 'downlink')]
# abc
df_case_delay150_abc_downlink = df[(df.server == site) & (df.case == '150 ms') & (df.buftune == 1) & (df.frto_response == 0) & (df.direction == 'downlink')]
df_case_delay150_loss5_abc_downlink = df[(df.server == site) & (df.case == '150 ms 5% loss') & (df.buftune == 1) & (df.frto_response == 0) & (df.direction == 'downlink')]
df_case_loss5_frto_2 = df[(df.server == site) & (df.case == '150 ms 5% loss') & (df.buftune == 1) & (df.frto_response == 2) & (df.tcp_abc == 0)]
df_case_loss5_abc_2 = df[(df.server == site) & (df.case == '150 ms 5% loss') & (df.buftune == 1) & (df.frto_response == 0) & (df.tcp_abc == 2)]
df_case_delay_frto_2 = df[(df.server == site) & (df.case == '150 ms') & (df.buftune == 1) & (df.frto_response == 2) & (df.tcp_abc == 0)]
df_case_delay_abc_2 = df[(df.server == site) & (df.case == '150 ms') & (df.buftune == 1) & (df.frto_response == 0) & (df.tcp_abc == 2)]
fig, axes = plt.subplots(5, 2)
# buf tune
ax = axes[0, 0]
ax.set_title('uplink: default vs buf-tune')
ax.set_ylim([0, 50])
sns.boxplot(x=df_case_delay150_buftune_uplink['buftune'], y=df_case_delay150_buftune_uplink['bitrate'], hue=df_case_delay150_buftune_uplink['case'], ax=ax)
ax = axes[0, 1]
ax.set_title('downlink: default vs buf-tune')
ax.set_ylim([0, 80])
sns.boxplot(x=df_case_delay150_buftune_downlink['buftune'], y=df_case_delay150_buftune_downlink['bitrate'], hue=df_case_delay150_buftune_downlink['case'], ax=ax)
ax = axes[1, 0]
ax.set_title('uplink: default vs buf-tune')
ax.set_ylim([0, 2])
sns.boxplot(x=df_case_delay150_loss5_buftune_uplink['buftune'], y=df_case_delay150_loss5_buftune_uplink['bitrate'], hue=df_case_delay150_loss5_buftune_uplink['case'], ax=ax)
ax = axes[1, 1]
ax.set_title('downlink: default vs buf-tune')
ax.set_ylim([0, 2])
sns.boxplot(x=df_case_delay150_loss5_buftune_downlink['buftune'], y=df_case_delay150_loss5_buftune_downlink['bitrate'], hue=df_case_delay150_loss5_buftune_downlink['case'], ax=ax)
# frto
ax = axes[2, 0]
ax.set_title('downlink: default vs frto')
ax.set_ylim([0, 80])
sns.boxplot(x=df_case_delay150_frto_downlink['frto_response'], y=df_case_delay150_frto_downlink['bitrate'], hue=df_case_delay150_frto_downlink['case'], ax=ax)
ax = axes[2, 1]
ax.set_title('downlink: default vs frto')
ax.set_ylim([0, 2])
sns.boxplot(x=df_case_delay150_loss5_frto_downlink['frto_response'], y=df_case_delay150_loss5_frto_downlink['bitrate'], hue=df_case_delay150_loss5_frto_downlink['case'], ax=ax)
ax = axes[3, 0]
ax.set_title('downlink: default vs frto')
ax.set_ylim([0, 8])
sns.boxplot(x=df_case_delaydist_frto_downlink['frto_response'], y=df_case_delaydist_frto_downlink['bitrate'], hue=df_case_delaydist_frto_downlink['case'], ax=ax)
#ax = axes[3, 1]
#ax.set_title('downlink: default vs frto')
#ax.set_ylim([0, 8])
#sns.boxplot(x=df_case_delaydist_frto_2['direction'], y=df_case_delaydist_frto_2['bitrate'], hue=df_case_delaydist_frto_2['case'], ax=ax)
# abc
ax = axes[4, 0]
ax.set_title('downlink: default vs abc')
ax.set_ylim([0, 80])
sns.boxplot(x=df_case_delay150_abc_downlink['tcp_abc'], y=df_case_delay150_abc_downlink['bitrate'], hue=df_case_delay150_abc_downlink['case'], ax=ax)
ax = axes[4, 1]
ax.set_title('downlink: default vs abc')
ax.set_ylim([0, 2])
sns.boxplot(x=df_case_delay150_loss5_abc_downlink['tcp_abc'], y=df_case_delay150_loss5_abc_downlink['bitrate'], hue=df_case_delay150_loss5_abc_downlink['case'], ax=ax)
plt.tight_layout()
plt.savefig(figpath)
os.system('open "%s"' % figpath)
###### DMZ
site = 'DMZ'
figpath = 'boxplot-%s.png' % site
# buf tune
df_case_delay150_buftune_uplink = df[(df.server == site) & (df.case == '150 ms') & (df.frto_response == 0) & (df.tcp_abc == 0) & (df.direction == 'uplink')]
df_case_delay150_buftune_downlink = df[(df.server == site ) & (df.case == '150 ms') & (df.frto_response == 0) & (df.tcp_abc == 0) & (df.direction == 'downlink')]
df_case_loss5_buftune_uplink = df[(df.server == site) & (df.case == '5% loss') & (df.frto_response == 0) & (df.tcp_abc == 0) & (df.direction == 'uplink')]
df_case_loss5_buftune_downlink = df[(df.server == site) & (df.case == '5% loss') & (df.frto_response == 0) & (df.tcp_abc == 0) & (df.direction == 'downlink')]
df_case_delay2_buftune_uplink = df[(df.server == site) & (df.case == '2 ms') & (df.frto_response == 0) & (df.tcp_abc == 0) & (df.direction == 'uplink')]
df_case_delay2_buftune_downlink = df[(df.server == site ) & (df.case == '2 ms') & (df.frto_response == 0) & (df.tcp_abc == 0) & (df.direction == 'downlink')]
# frto
df_case_delaydist_frto_downlink = df[(df.server == site) & (df.case == 'delaydist') & (df.buftune == 0) & (df.tcp_abc == 0) & (df.direction == 'downlink')]
# abc
df_case_delaydist_abc_downlink = df[(df.server == site) & (df.case == 'delaydist') & (df.buftune == 0) & (df.frto_response == 0) & (df.direction == 'downlink')]
fig, axes = plt.subplots(5, 2)
# buf tune
ax = axes[0, 0]
ax.set_title('uplink: default vs buf-tune')
ax.set_ylim([20, 50])
sns.boxplot(x=df_case_delay150_buftune_uplink['buftune'], y=df_case_delay150_buftune_uplink['bitrate'], hue=df_case_delay150_buftune_uplink['case'], ax=ax)
ax = axes[0, 1]
ax.set_title('downlink: default vs buf-tune')
ax.set_ylim([30, 60])
sns.boxplot(x=df_case_delay150_buftune_downlink['buftune'], y=df_case_delay150_buftune_downlink['bitrate'], hue=df_case_delay150_buftune_downlink['case'], ax=ax)
ax = axes[1, 0]
ax.set_title('uplink: default vs buf-tune')
ax.set_ylim([80, 100])
sns.boxplot(x=df_case_delay2_buftune_uplink['buftune'], y=df_case_delay2_buftune_uplink['bitrate'], hue=df_case_delay2_buftune_uplink['case'], ax=ax)
ax = axes[1, 1]
ax.set_title('downlink: default vs buf-tune')
ax.set_ylim([80, 100])
sns.boxplot(x=df_case_delay2_buftune_downlink['buftune'], y=df_case_delay2_buftune_downlink['bitrate'], hue=df_case_delay2_buftune_downlink['case'], ax=ax)
ax = axes[2, 0]
ax.set_title('uplink: default vs buf-tune')
ax.set_ylim([0, 10])
sns.boxplot(x=df_case_loss5_buftune_uplink['buftune'], y=df_case_loss5_buftune_uplink['bitrate'], hue=df_case_loss5_buftune_uplink['case'], ax=ax)
ax = axes[2, 1]
ax.set_title('downlink: default vs buf-tune')
ax.set_ylim([5, 10])
sns.boxplot(x=df_case_loss5_buftune_downlink['buftune'], y=df_case_loss5_buftune_downlink['bitrate'], hue=df_case_loss5_buftune_downlink['case'], ax=ax)
# frto
ax = axes[3, 0]
ax.set_title('downlink: default vs frto')
ax.set_ylim([0, 3])
sns.boxplot(x=df_case_delaydist_frto_downlink['frto_response'], y=df_case_delaydist_frto_downlink['bitrate'], hue=df_case_delaydist_frto_downlink['case'], ax=ax)
# abc
ax = axes[3, 1]
ax.set_title('downlink: default vs abc')
ax.set_ylim([0, 3])
sns.boxplot(x=df_case_delaydist_abc_downlink['tcp_abc'], y=df_case_delaydist_abc_downlink['bitrate'], hue=df_case_delaydist_abc_downlink['case'], ax=ax)
plt.tight_layout()
plt.savefig(figpath)
os.system('open "%s"' % figpath)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment