aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Saad Nogueira Nunes <danielsaad@users.noreply.github.com>2023-03-27 18:45:45 +0000
committerGitHub <noreply@github.com>2023-03-27 18:45:45 +0000
commit47f972639bc616ec1c9446774a2909726cbf050c (patch)
tree01a2fb46a13cd9af05c1ce76013a1e173ab6c518
parentc1ad143de1e86e0a1bd4c42883befcbc037387f8 (diff)
downloadboca-47f972639bc616ec1c9446774a2909726cbf050c.tar.gz
boca-47f972639bc616ec1c9446774a2909726cbf050c.zip
Create piechart.py (#25)
Adding piechart.py to generate piecharts.
-rw-r--r--src/admin/report/piechart.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/admin/report/piechart.py b/src/admin/report/piechart.py
new file mode 100644
index 0000000..75e5a9d
--- /dev/null
+++ b/src/admin/report/piechart.py
@@ -0,0 +1,40 @@
+import matplotlib.pyplot as plt
+import sys
+
+filename = sys.argv[1]
+title = sys.argv[2]
+
+label=[]
+value=[]
+color = []
+with open(filename,'r') as f:
+ for line in f:
+ tokens = line.split()
+ c = tokens[-1]
+ problem_data = ' '.join(tokens[0:-1])
+ l,v = problem_data.split(':')
+ if(int(v)>0):
+ label.append(l+'('+v+')')
+ value.append(v)
+ color.append(c)
+
+
+wedges, texts, autotexts = plt.pie(value, colors=color,autopct=lambda p: '{:.1f}%'.format(round(p)) if p > 0 else '',pctdistance=1.2,wedgeprops= {"edgecolor":"black",
+ 'linewidth': 1,
+ 'antialiased': False})
+
+plt.legend(wedges, label,
+ loc="center left",
+ bbox_to_anchor=(1.1, 0, 0.5,1))
+# Add title
+plt.title(title,pad=20)
+if(len(sys.argv)<=3):
+ plt.legend(label, bbox_to_anchor=(1.1,0.5), loc="center right", fontsize=10,
+ bbox_transform=plt.gcf().transFigure,shadow=True)
+else:
+ plt.legend(label,loc="lower center", bbox_to_anchor=(0.5,-0.1), fontsize=10,
+ bbox_transform=plt.gcf().transFigure,shadow=True)
+# Show plot
+# plt.tight_layout()
+plt.savefig(filename.replace('.txt','.png'),dpi=600,transparent=True, bbox_inches="tight")
+