# -*- coding: utf-8 -*- """ Created on Fri Aug 12 11:15:41 2022 @author: Rene """ import numpy as np import matplotlib.pyplot as plt n = 350 k = 5 mean_T_k = (k/(k+1))*(n+1) data = [61,19,56,24,16] max_data = max(data) y = np.zeros(5) plt.rc('font', family='serif', size='10') Figure = plt.figure() Figure.set_figwidth(9) Figure.set_figheight(4) Figure.subplots_adjust(hspace=1.25, wspace=0.4) #******************************************************** LB_x = 1 UB_x = n off_set_x = 1 LB_y = -0.5 UB_y = 0.5 off_set_y = 0.01 x_lims = (LB_x-off_set_x,UB_x+off_set_x) y_lims = (LB_y-off_set_y,UB_y+off_set_y) Panel = Figure.add_subplot(3,1,1) x = np.random.choice(a=n, size=k, replace=False) max_x = max(x) plt.xlim(x_lims) plt.ylim(y_lims) ax = plt.gca() ax.axes.yaxis.set_visible(False) for pos in ['right', 'top', 'left']: plt.gca().spines[pos].set_visible(False) plt.axhline(0, lw=2, ls = '-',color = 'lightgray',alpha=0.5) plt.axvline(0, lw=2, ls = '-',color = 'lightgray',alpha=0.5) plt.axvline(max_data, lw=2, ls = '--',color = 'green',alpha=0.5) text_str = 'max(data) = ' + str(max_data) plt.text(max_data + 2,LB_y,text_str,color = 'green', horizontalalignment = 'left', verticalalignment = 'bottom') plt.scatter(data,y,color='green') plt.axvline(max_x, lw=2, ls = '--',color = 'red',alpha=0.5) text_str = 'max(sample) = ' + str(max_x) plt.text(max_x - 2,LB_y,text_str,color = 'red', horizontalalignment = 'right', verticalalignment = 'bottom') plt.scatter(x,y,color='red') plt.axvline(mean_T_k, lw=2, ls = '-',color = 'blue',alpha=0.5) text_str = '$E[T_5] = $' + f'{mean_T_k:2.1f}' plt.text(mean_T_k-2,UB_y,text_str,color = 'blue', horizontalalignment = 'right', verticalalignment = 'top') text_str = '$H_0: N = $' + f'{n:2.0f}' plt.text(2,UB_y,text_str,color = 'black', horizontalalignment = 'left', verticalalignment = 'top') Panel.title.set_text('Random Sample 1') Panel = Figure.add_subplot(3,1,2) x = np.random.choice(a=n, size=k, replace=False) max_x = max(x) plt.xlim(x_lims) plt.ylim(y_lims) ax = plt.gca() ax.axes.yaxis.set_visible(False) for pos in ['right', 'top', 'left']: plt.gca().spines[pos].set_visible(False) plt.axhline(0, lw=2, ls = '-',color = 'lightgray',alpha=0.5) plt.axvline(0, lw=2, ls = '-',color = 'lightgray',alpha=0.5) plt.axvline(max_data, lw=2, ls = '--',color = 'green',alpha=0.5) text_str = 'max(data) = ' + str(max_data) plt.text(max_data + 2,LB_y,text_str,color = 'green', horizontalalignment = 'left', verticalalignment = 'bottom') plt.scatter(data,y,color='green') plt.axvline(max_x, lw=2, ls = '--',color = 'red',alpha=0.5) text_str = 'max(sample) = ' + str(max_x) plt.text(max_x - 2,LB_y,text_str,color = 'red', horizontalalignment = 'right', verticalalignment = 'bottom') plt.scatter(x,y,color='red') plt.axvline(mean_T_k, lw=2, ls = '-',color = 'blue',alpha=0.5) text_str = '$E[T_5] = $' + f'{mean_T_k:2.1f}' plt.text(mean_T_k-2,UB_y,text_str,color = 'blue', horizontalalignment = 'right', verticalalignment = 'top') text_str = '$H_0: N = $' + f'{n:2.0f}' plt.text(2,UB_y,text_str,color = 'black', horizontalalignment = 'left', verticalalignment = 'top') Panel.title.set_text('Random Sample 2') Panel = Figure.add_subplot(3,1,3) x = np.random.choice(a=n, size=k, replace=False) max_x = max(x) plt.xlim(x_lims) plt.ylim(y_lims) ax = plt.gca() ax.axes.yaxis.set_visible(False) for pos in ['right', 'top', 'left']: plt.gca().spines[pos].set_visible(False) plt.axhline(0, lw=2, ls = '-',color = 'lightgray',alpha=0.5) plt.axvline(0, lw=2, ls = '-',color = 'lightgray',alpha=0.5) plt.axvline(max_data, lw=2, ls = '--',color = 'green',alpha=0.5) text_str = 'max(data) = ' + str(max_data) plt.text(max_data + 2,LB_y,text_str,color = 'green', horizontalalignment = 'left', verticalalignment = 'bottom') plt.scatter(data,y,color='green') plt.axvline(max_x, lw=2, ls = '--',color = 'red',alpha=0.5) text_str = 'max(sample) = ' + str(max_x) plt.text(max_x - 2,LB_y,text_str,color = 'red', horizontalalignment = 'right', verticalalignment = 'bottom') plt.scatter(x,y,color='red') plt.axvline(mean_T_k, lw=2, ls = '-',color = 'blue',alpha=0.5) text_str = '$E[T_5] = $' + f'{mean_T_k:2.1f}' plt.text(mean_T_k-2,UB_y,text_str,color = 'blue', horizontalalignment = 'right', verticalalignment = 'top') text_str = '$H_0: N = $' + f'{n:2.0f}' plt.text(2,UB_y,text_str,color = 'black', horizontalalignment = 'left', verticalalignment = 'top') Panel.title.set_text('Random Sample 3') plt.savefig('German_Tank_Example_350.png', dpi=300)