import sys import lib import numpy as np time_data, ping_data, jitter_data, up_data, down_data = lib.import_csv(sys.argv[1:]) averaged_data = dict() for i in range(0, len(time_data)): hour_truncated_time = time_data[i].replace(year=time_data[0].year, month=time_data[0].month, day=time_data[0].day, hour=time_data[i].hour, minute=0, second=0, microsecond=0) averaged_data[hour_truncated_time] = [0, 0, 0, 0, 0] for i in range(0, len(time_data)): hour_truncated_time = time_data[i].replace(year=time_data[0].year, month=time_data[0].month, day=time_data[0].day, hour=time_data[i].hour, minute=0, second=0, microsecond=0) averaged_data[hour_truncated_time][0] += ping_data[i] averaged_data[hour_truncated_time][1] += jitter_data[i] averaged_data[hour_truncated_time][2] += down_data[i] averaged_data[hour_truncated_time][3] += up_data[i] averaged_data[hour_truncated_time][4] += 1 truncated_hours = [] averaged_ping_data = [] averaged_jitter_data = [] averaged_down_data = [] averaged_up_data = [] for date in sorted(averaged_data): truncated_hours.append(date.hour) averaged_ping_data.append(averaged_data[date][0] / averaged_data[date][4]) averaged_jitter_data.append(averaged_data[date][1] / averaged_data[date][4]) averaged_down_data.append(averaged_data[date][2] / averaged_data[date][4]) averaged_up_data.append(averaged_data[date][3] / averaged_data[date][4]) xticks = np.arange(0, 23, step=2) lib.plot(truncated_hours, averaged_down_data, averaged_up_data, 'down', 'up', 'bandwidth.svg', autofmt=False, xticks=xticks) lib.plot(truncated_hours, averaged_ping_data, averaged_jitter_data, 'ping', 'jitter', 'ping_jitter.svg', autofmt=False, xticks=xticks)