#! /usr/bin/python import sys import numpy as np import matplotlib.pyplot as plt log_filename = sys.argv[1] nums,accuracy = np.loadtxt(log_filename,comments=";",delimiter='#',unpack=True,usecols=(0,2)) nums_unique = np.unique(nums) means = [] mins = [] maxs = [] for i in nums_unique: filtered = accuracy[nums==i] mean = np.mean(filtered) min_value = min(filtered) max_value = max(filtered) var = np.var(filtered) means += [mean] mins += [mean-min_value] maxs += [max_value-mean] print ",".join(map(str,[int(i),mean,min_value,max_value,var])) x = map(int,list(nums_unique)) axes = plt.subplot(111) axes.set_xlabel("Group size") axes.set_ylabel("Accuracy") a = axes.set_xlim((0,22)) axes.set_ylim((0,100)) axes.set_xticks(x) plt.errorbar(x,means,yerr=[mins,maxs],linestyle="-",marker="o",ecolor="gray") plt.savefig("test.png")