In [1]:
import matplotlib.pyplot as plt
from math import *

In [59]:
#stats: [[p25,median,p75,miny,maxy] ,... ]
def get_boxplot_from_stats(stats):
    
    #create boxplot instance with len(stats) boxes
    boxplot = plt.boxplot([[]]*len(stats))
    
    box_no = 0
    for p25,median,p75,miny,maxy in stats:
        
        #set caps
        boxplot['caps'][2*box_no].set_ydata([miny,miny])#lower
        boxplot['caps'][2*box_no + 1].set_ydata([maxy,maxy])#higher
        
        #set medians
        boxplot['medians'][box_no].set_ydata([median,median])
        
        #set whiskers
        boxplot['whiskers'][2*box_no].set_ydata([miny,p25])
        boxplot['whiskers'][2*box_no + 1].set_ydata([p75,maxy])
        
        #set box
        boxplot['boxes'][box_no].set_ydata([p25,p25,p75,p75,p25])
        
        box_no +=1
    
    return boxplot

In [49]:
boxplot = plt.boxplot([[]])
boxplot['boxes'][0].set_ydata([10,10,20,20,10])
#boxplot['whiskers'][1].set_ydata([20,20])
print(boxplot)
plt.
plt.show()


{'caps': [<matplotlib.lines.Line2D object at 0x7f60b0e014e0>, <matplotlib.lines.Line2D object at 0x7f60b0e015f8>], 'medians': [<matplotlib.lines.Line2D object at 0x7f60b0e73630>], 'means': [], 'whiskers': [<matplotlib.lines.Line2D object at 0x7f60b1291940>, <matplotlib.lines.Line2D object at 0x7f60b0f44eb8>], 'boxes': [<matplotlib.lines.Line2D object at 0x7f60b0f09240>], 'fliers': [<matplotlib.lines.Line2D object at 0x7f60b0e73710>]}

In [62]:
bxplot = get_boxplot_from_stats([[5,7,8,1,10],[10,12,16,2,30]])
plt.axis([0,3,0,40])
plt.show()



In [ ]: