forked from mohamm-alsaid/EGoT_KAnonymity
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathplot.py
More file actions
52 lines (41 loc) · 1.12 KB
/
plot.py
File metadata and controls
52 lines (41 loc) · 1.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import sys
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import k_anonymizer #import KAnonymizer
import argparse
parser = argparse.ArgumentParser(description='Anonymize a CSV file.')
parser.add_argument('-f', metavar='F', type=str, help='Input file name')
args = parser.parse_args()
f = args.f
norm_ks,norm_ns = [],[]
size = (len(pd.read_csv(f))+1)//2
print(size)
CB91_Blue = '#2CBDFE'
CB91_Purple = '#9D2EC5'
CB91_Violet = '#661D98'
color_list = [CB91_Blue, CB91_Purple, CB91_Violet]
plt.rcParams['axes.prop_cycle'] = plt.cycler(color=color_list)
name = 'ncp_vs_k_500_normal.png'
anonymizer = k_anonymizer.KAnonymizer(fname=f)
ks = []
ns = []
for i in range(1,size+2):
ks.append(i)
d,n,t = anonymizer.anonymize(k=i,gen_scale=i)
# hs.append(anonymizer.h)
norm_ns.append(n)
print('1 (norm): --->\n',d)
d,n,t = anonymizer.anonymize(k=i)
norm_ks.append(i)
print('2: ===>\n',d)
ns.append(n)
plt.plot(ks,norm_ns)
plt.grid()
plt.legend(['H = K'])
plt.title('NCP vs K')
plt.ylabel('NCP (%)')
plt.xlabel('K')
plt.xticks(list(range(0,len(ks)+1,size//10)))
plt.savefig(name)
plt.close()