Source code for statsmodels.graphics.tukeyplot

from statsmodels.compat.python import range
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.ticker as mticker
import matplotlib.lines as lines


[docs]def tukeyplot(results, dim=None, yticklabels=None): npairs = len(results) fig = plt.figure() fsp = fig.add_subplot(111) fsp.axis([-50,50,0.5,10.5]) fsp.set_title('95 % family-wise confidence level') fsp.title.set_y(1.025) fsp.set_yticks(np.arange(1,11)) fsp.set_yticklabels(['V-T','V-S','T-S','V-P','T-P','S-P','V-M', 'T-M','S-M','P-M']) #fsp.yaxis.set_major_locator(mticker.MaxNLocator(npairs)) fsp.yaxis.grid(True, linestyle='-', color='gray') fsp.set_xlabel('Differences in mean levels of Var', labelpad=8) fsp.xaxis.tick_bottom() fsp.yaxis.tick_left() xticklines = fsp.get_xticklines() for xtickline in xticklines: xtickline.set_marker(lines.TICKDOWN) xtickline.set_markersize(10) xlabels = fsp.get_xticklabels() for xlabel in xlabels: xlabel.set_y(-.04) yticklines = fsp.get_yticklines() for ytickline in yticklines: ytickline.set_marker(lines.TICKLEFT) ytickline.set_markersize(10) ylabels = fsp.get_yticklabels() for ylabel in ylabels: ylabel.set_x(-.04) for pair in range(npairs): data = .5+results[pair]/100. #fsp.axhline(y=npairs-pair, xmin=data[0], xmax=data[1], linewidth=1.25, fsp.axhline(y=npairs-pair, xmin=data.mean(), xmax=data[1], linewidth=1.25, color='blue', marker="|", markevery=1) fsp.axhline(y=npairs-pair, xmin=data[0], xmax=data.mean(), linewidth=1.25, color='blue', marker="|", markevery=1) #for pair in range(npairs): # data = .5+results[pair]/100. # data = results[pair] # data = np.r_[data[0],data.mean(),data[1]] # l = plt.plot(data, [npairs-pair]*len(data), color='black', # linewidth=.5, marker="|", markevery=1) fsp.axvline(x=0, linestyle="--", color='black') fig.subplots_adjust(bottom=.125)
results = np.array([[-10.04391794, 26.34391794], [-21.45225794, 14.93557794], [ 5.61441206, 42.00224794], [-13.40225794, 22.98557794], [-29.60225794, 6.78557794], [ -2.53558794, 33.85224794], [-21.55225794, 14.83557794], [ 8.87275206, 45.26058794], [-10.14391794, 26.24391794], [-37.21058794, -0.82275206]]) #plt.show()