A boxplot above was modified to obtain group boxplots with 3 data types.
import matplotlib.pyplot as plt
import numpy as np
 ord = [[16.9423,
               4.0410,
               19.1185],
           [18.5134,
               17.8048,
               19.2669],
           [18.7286,
               18.0576,
               19.1717],
           [18.8998,
               18.8469,
               19.0005],
           [18.8126,
               18.7870,
               18.8393],
           [18.7770,
               18.7511,
               18.8022],
           [18.7409,
               18.7075,
               18.7747],
           [18.6866,
               18.6624,
               18.7093
               ],
           [18.6748],
           [18.9069,
                18.6752,
                19.0769],
           [19.0012,
                18.9783,
                19.0202
                ],
           [18.9448,
               18.9134,
               18.9813],
           [19.1242,
               18.8256,
               19.3185],
           [19.2118,
               19.1661,
               19.2580],
           [19.2505,
               19.1231,
               19.3526]]
    
    seq = [[17.8092,
              4.0410,
              19.6653],
           [18.7266,
              18.2556,
              19.3739],
           [18.6051,
              18.0589,
              19.0557],
           [18.6467,
              18.5629,
              18.7566],
           [18.5307,
              18.4999,
              18.5684],
           [18.4732,
              18.4484,
              18.4985],
           [18.5234,
              18.5027,
              18.4797,
              18.4573],
           [18.3987,
              18.3636,
              18.4544],
           [18.3593],
           [18.7234,
               18.7092,
               18.7598],
           [18.7438,
               18.7224,
               18.7677],
           [18.7304,
               18.7111,
               18.6880,
               18.6913,
               18.6678],
           [18.8926,
               18.5902,
               19.2003],
           [19.1059,
               19.0835,
               19.0601,
               19.0373,
               19.0147],
           [19.1925,
               19.0177,
               19.2588]]
    
    apd=[[17.0331,
            4.0410,
            18.5670],
         [17.6124,
            17.1975,
            18.0755],
         [17.3956,
            17.1572,
            17.9140],
         [17.8295,
            17.6514,
            18.1466],
         [18.0665,
            17.9144,
            18.2157],
         [18.1518,
            18.0382,
            18.2722],
         [18.1975,
            18.0956,
            18.2987],
         [18.2219,
            18.1293,
            18.3062],
         [18.2870,
            18.2215,
            18.3513],
         [18.3047,
             18.2363,
             18.3950],
         [18.3580,
             18.2923,
             18.4205],
         [18.3830,
             18.3250,
             18.4381],
         [18.4135,
             18.3645,
             18.4753],
         [18.4580,
             18.4095,
             18.5170],
         [18.4900,
             18.4430,
             18.5435]
         ]
    ticks = [120,
             240,
             360,
             516,
             662,
             740,
             874,
             1022,
             1081,
             1201,
             1320,
             1451,
             1562,
             1680,
             1863]
    
    def set_box_color(bp, color):
        plt.setp(bp['boxes'], color=color)
        plt.setp(bp['whiskers'], color=color)
        plt.setp(bp['caps'], color=color)
        plt.setp(bp['medians'], color=color)
    
    plt.figure()
    
    bpl = plt.boxplot(ord, positions=np.array(range(len(ord)))*3.0-0.3, sym='', widths=0.6)
    bpr = plt.boxplot(seq, positions=np.array(range(len(seq)))*3.0+0.3, sym='', widths=0.6)
    bpg = plt.boxplot(apd, positions=np.array(range(len(apd)))*3.0+0.9, sym='', widths=0.6)
    set_box_color(bpl, '#D7191C') # colors are from http://colorbrewer2.org/
    set_box_color(bpr, '#2C7BB6')
    set_box_color(bpg, '#99d8c9')
    # draw temporary red and blue lines and use them to create a legend
    plt.plot([], c='#D7191C', label='ORD')
    plt.plot([], c='#2C7BB6', label='SEQ')
    plt.plot([], c='#99d8c9', label='APD')
    plt.legend()
    
    plt.xticks(range(0, len(ticks) * 3, 3), ticks)
    plt.xlim(-2, len(ticks)*3)
    plt.ylim(0, 20)
    plt.tight_layout()
    plt.show()
    plt.savefig('boxcompare.png')