import pathpy as pp import numpy as np import igraph as ig import KOrderPathModel import matplotlib.pyplot as plt import scipy.stats as sps import pandas as pd df = pd.DataFrame.from_csv('./output/output_pr_synthetic.csv') trueorders = list(set(df['trueOrder'].values)) ks = list(set(df['k'].values)) results = dict() errors = dict() for k in ks: results[k] = [] errors[k] = [] for i in trueorders: results[k].append(np.mean(df.query('trueOrder==' + str(i) + ' and k==' + str(k))['tauPR'].values)) errors[k].append(np.std(df.query('trueOrder==' + str(i) + ' and k==' + str(k))['tauPR'].values)) plt.clf() fig = plt.figure(figsize = (8,5)) ax = fig.add_subplot(111) ax.xaxis.set_tick_params(which='major', labelsize=19) ax.yaxis.set_tick_params(which='major', labelsize=19) plt.tick_params(axis='both', which='major', labelsize=19) plt.xlabel('Detected order $K_{Opt}$', fontsize=24, fontweight='bold') plt.ylabel(r'Kendall-Tau $p_v$ ~ PR$(k)[v]$', fontsize=22, fontweight='bold') plt.xlim(0.5,max(trueorders)+0.5) plt.ylim(0.47,1) plt.subplots_adjust(bottom=0.15) plt.grid() plt.subplots_adjust(left=0.15) a = plt.errorbar(trueorders, results[1], yerr=errors[1], elinewidth=2, fmt='', capsize=4, markersize=8, color='dimgrey', marker= 'P', linewidth=3, alpha=0.7) b = plt.errorbar(trueorders, results[2], yerr=errors[2], elinewidth=2, fmt='', capsize=4, markersize=8, color='sienna', marker= 'o', linewidth=3, alpha=0.7) c = plt.errorbar(trueorders, results[3], yerr=errors[3], elinewidth=2, fmt='', capsize=4, markersize=8, color='olivedrab', marker = 's', linewidth=3, alpha=0.7) d = plt.errorbar(trueorders, results[4], yerr=errors[4], elinewidth=2, fmt='', capsize=4, markersize=8, color='midnightblue', marker = '^', linewidth=3, alpha=0.7) e = plt.errorbar(trueorders, results[5], yerr=errors[5], elinewidth=2, fmt='', capsize=4, markersize=8, color='purple', marker = 'X', linewidth=3, alpha=0.7) plt.tight_layout() plt.xticks(trueorders) legend_properties = {'weight':'bold', 'size':14} plt.legend((a, b, c, d, e), ('PR$(k=1)$', 'PR$(k=2)$', 'PR$(k=3)$', 'PR$(k=4)$', 'PR$(k=5)$'), scatterpoints=1, loc='lower center', prop = legend_properties) fig.savefig('./output/output_pr_synthetic.pdf') plt.close()