Programa Python para analisis

Este código sencillo y mejorable fue utilizado para generar un histograma en 2 dimensiones con los datos de recepción de mi baliza WSPR por parte de PY2GN. Utiliza Matplotlib para realizar los gráficos. Lo utilizo en debian. Lo pong aqui solo como ejemplo.
El archivo tiene lineas como las siguientes:
2018-09-14 12:44 LU3HO 7.040157 -21 0 FF54fm 5 PY2GN GG56tv 2462 62
import datetime as dtimport matplotlib.pyplot as pltimport sys
station=sys.argv[1]print(station)

WSPR_file=open("/home/andres/a/"+station+".txt",'r')date_list=[]hour_list=[]SNR_list=[]for l in WSPR_file: line=l.split() #date_list.append(line[0]+'-'+line[1]) date_list.append(dt.datetime.strptime(line[0]+' '+line[1],"%Y-%m-%d %H:%M"))#convert string date to datetime format hour_list.append(line[1]) SNR_list.append(line[4])#print(date_list)#print(hour_list)#print(SNR_list)
init_date=min(date_list) #search min and max dates of the list of reports, from datetime list of objectsprint(init_date)end_date=max(date_list)print(end_date)
h_list=[]init_time=dt.datetime.strptime("00:00","%H:%M")for i in hour_list: time=dt.datetime.strptime(i,"%H:%M") h_list.append(((time-init_time).total_seconds())/3600) #h_list.append(str(time.hour)+":"+str(time.minute))#print(h_list)
#x=dt.datetime.strptime("00:01","%H:%M")#init_time=dt.datetime.strptime("00:00","%H:%M")#print((x-init_time).total_seconds())
x=h_listy=SNR_listy_int=[]
x_min=0x_max=24for i in y: #generate list in int format for SNR levels y_int.append(int(i))
y_min=min(y_int) #Only works min() if integery_max=max(y_int)#print(y_min)#print(y_max)
fig, axs = plt.subplots(ncols=1, sharey=True, figsize=(7, 4))fig.subplots_adjust(hspace=0.5, left=0.07, right=1, top=0.93)
ax = axshb = ax.hexbin(x, y, gridsize=50, cmap='Spectral') #mincnt=0.1)ax.axis([x_min, x_max, y_min, y_max])ax.set_xlabel("UTC time")ax.set_ylabel("Signal to Noise Ratio (dB)")ax.set_title("WSPR Analysis of LU3HO received by "+station+" from "+str(init_date)+" to "+str(end_date))ax.set_xticks([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24])#ax.text(x=0,y=y_min,s="00:00",rotation='vertical', verticalalignment='top',horizontalalignment='center')#ax.text(x=21600,y=y_min,s="06:00",rotation='vertical', verticalalignment='top',horizontalalignment='center')#ax.text(x=43200,y=y_min,s="12:00",rotation='vertical', verticalalignment='top',horizontalalignment='center')#ax.text(x=64800,y=y_min,s="18:00",rotation='vertical', verticalalignment='top',horizontalalignment='center')#ax.text(86400,y_min,s="23:59",rotation='vertical', verticalalignment='top',horizontalalignment='center')cb = fig.colorbar(hb, ax=ax)cb.set_label('Reports density')
plt.show()