In [ ]:
import numpy as np
import bqplot.pyplot as plt

In [ ]:
x_data = [1, 2, 3, 4, 5, 6, 7]

y_data = [
    [160.10, 162.34, 161.82, 162.24, 161.44, 158.51, 157.68, 151.93, 151.41, 153.06, 155.38, 161.07, 160.51, 162.99, 161.86, 163.27, 164.05, 164.52, 162.67],
    [161.54, 162.17, 161.95, 161.76, 162.15, 160.92, 160.64, 161.43, 161.89, 164.16, 164.16, 162.79, 161.92, 163.30, 163.49, 162.07, 161.46, 161.82, 162.65],
    [164.40, 164.35, 163.46, 163.60, 161.87, 162.08, 162.18, 161.79, 163.23, 169.10, 182.05, 179.84, 181.75, 183.80, 183.52, 185.93, 186.42, 189.36, 185.71],
    [188.67, 186.91, 187.17, 189.83, 189.64, 190.06, 189.01, 192.31, 191.62, 193.11, 194.00, 193.75, 192.80, 192.96, 191.81, 191.28, 191.72, 191.20, 190.68],
    [191.95, 191.56, 192.30, 192.00, 192.25, 192.99, 191.16, 190.41, 191.23, 190.10, 190.07, 189.36, 187.38, 187.88, 191.81, 191.28, 191.72, 189.99, 190.14],
    [187.95, 187.34, 187.47, 186.63, 184.30, 185.97, 187.10, 189.64, 189.15, 191.67, 194.00, 194.57, 195.78, 194.40, 195.24, 193.63,  190.85, 192.5, 192.49],
    [192.36, 188.49, 189.86, 188.00, 187.70, 188.42, 187.22, 188.04, 188.53, 188.39, 186.35, 181.27, 181.71, 180.37, 180.72, 180.88, 182.14, 181.55, 182.82]
]

In [ ]:
fig = plt.figure()
# add x and y labels using axes_options
axes_options = {'x': {'label': 'X'}, 'y': {'label': 'Y'}}
boxes = plt.boxplot(x_data, y_data, box_fill_color='gray', outlier_fill_color='black', axes_options=axes_options)
fig

In [ ]:
## setting the stroke and fill_color of the boxes and the outliers
boxes.stroke = 'red'
boxes.box_fill_color = 'blue'
boxes.outlier_fill_color = 'red'

In [ ]:
## changing the opacities of some of the boxes
boxes.opacities = [0.1, 0.2]

In [ ]:
## changing the width of the boxes
boxes.box_width = 10