|
a |
|
b/plot_exp1.py |
|
|
1 |
import matplotlib.pyplot as plt |
|
|
2 |
import re |
|
|
3 |
import numpy as np |
|
|
4 |
def extract_acc(filename): |
|
|
5 |
accuracy_array = [] |
|
|
6 |
with open(filename, 'r') as file: |
|
|
7 |
for line in file: |
|
|
8 |
match = re.search(r'Accuracy: ([\d.]+)', line) |
|
|
9 |
if match: |
|
|
10 |
accuracy = round(float(match.group(1)), 2) |
|
|
11 |
accuracy_array.append(accuracy) |
|
|
12 |
return accuracy_array |
|
|
13 |
|
|
|
14 |
|
|
|
15 |
num_subjects = list(range(20, 150, 20)) |
|
|
16 |
accuracies1 = extract_acc('exp1_results/result-III-V3-V5.txt') |
|
|
17 |
accuracies2 = extract_acc('exp1_results/result-III-V3.txt') |
|
|
18 |
accuracies3 = extract_acc('exp1_results/result-V5.txt') |
|
|
19 |
accuracies4 = extract_acc('exp1_results/result-V3.txt') |
|
|
20 |
accuracies5 = extract_acc('exp1_results/result-III.txt') |
|
|
21 |
|
|
|
22 |
plt.figure(figsize=(10, 8), dpi=100) |
|
|
23 |
plt.plot(num_subjects, accuracies1, '#8C2155',marker='.', label='III+V3+V5') |
|
|
24 |
plt.plot(num_subjects, accuracies2, '#F99083',marker='.', label='III+V3') |
|
|
25 |
plt.plot(num_subjects, accuracies3, '#8AA29E',marker='.', label='V5') |
|
|
26 |
plt.plot(num_subjects, accuracies4, '#98CE00',marker='.', label='V3') |
|
|
27 |
plt.plot(num_subjects, accuracies5, '#FFC857',marker='.', label='III') |
|
|
28 |
|
|
|
29 |
|
|
|
30 |
plt.xlabel('Number of subjects', fontsize=16) |
|
|
31 |
plt.ylabel('Accuracy (%)', fontsize=16) |
|
|
32 |
plt.tick_params(axis='both', which='major', labelsize=12) |
|
|
33 |
plt.legend() |
|
|
34 |
plt.xlim((np.min(num_subjects),np.max(num_subjects))) |
|
|
35 |
plt.grid(True, 'both') |
|
|
36 |
plt.savefig('exp1_results/fig_exp1.png') |
|
|
37 |
plt.show() |
|
|
38 |
plt.close() |