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()
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 [ ]: