| @@ -0,0 +1,86 @@ | |||||
| #!/usr/bin/env python3 | |||||
| # -*- coding: utf-8 -*- | |||||
| """ | |||||
| Draw running time. | |||||
| Created on Mon Sep 24 17:37:26 2018 | |||||
| @author: ljia | |||||
| """ | |||||
| import numpy as np | |||||
| import matplotlib.pyplot as plt | |||||
| N = 7 | |||||
| tgm1 = np.array([0.73, | |||||
| 0.88, | |||||
| 1.65, | |||||
| 1.97, | |||||
| 4.89, | |||||
| 36.98, | |||||
| 704.54]) | |||||
| tgm2 = np.array([0.77, | |||||
| 1.22, | |||||
| 2.95, | |||||
| 5.70, | |||||
| 20.29, | |||||
| 147.09, | |||||
| 3477.65]) | |||||
| tms1 = np.array([2.68, | |||||
| 3.41, | |||||
| 3.36, | |||||
| 237.00, | |||||
| 7.58, | |||||
| 255.48, | |||||
| 717.35]) | |||||
| tms2 = np.array([3.93, | |||||
| 4.96, | |||||
| 5.84, | |||||
| 833.06, | |||||
| 26.62, | |||||
| 807.84, | |||||
| 3515.72]) | |||||
| fig, ax = plt.subplots(1, 1, figsize=(10.5, 4.2)) | |||||
| ind = np.arange(N) # the x locations for the groups | |||||
| width = 0.23 # the width of the bars: can also be len(x) sequence | |||||
| p1 = ax.bar(ind - width * 0.03, tgm1, width, label='compute Gram matrix on $CRIANN$ ($t_1$)', zorder=3) | |||||
| p2 = ax.bar(ind - width * 0.03, tms1 - tgm1, width, bottom=tgm1, label='model selection on $CRIANN$', zorder=3) | |||||
| p3 = ax.bar(ind + width * 1.03, tgm2, width, label='compute Gram matrix on $laptop$ ($t_2$)', zorder=3) | |||||
| p4 = ax.bar(ind + width * 1.03, tms2 - tgm2, width, bottom=tgm2, label='model selection on $laptop$', zorder=3) | |||||
| ax.set_yscale('log', nonposy='clip') | |||||
| ax.set_xlabel('datasets') | |||||
| ax.set_ylabel('runtime($s$)') | |||||
| #ax.set_title('Runtime of the shortest path kernel on all datasets') | |||||
| plt.xticks(ind + width / 2, ('Alkane', 'Acyclic', 'MAO', 'PAH', 'MUTAG', | |||||
| 'Letter-med', 'ENZYMES')) | |||||
| #ax.set_yticks(np.logspace(-16, -3, num=20, base=10)) | |||||
| #ax.set_ylim(bottom=1e-15) | |||||
| ax.grid(axis='y', zorder=0) | |||||
| ax.spines['top'].set_visible(False) | |||||
| ax.spines['bottom'].set_visible(False) | |||||
| ax.spines['left'].set_visible(False) | |||||
| ax.spines['right'].set_visible(False) | |||||
| ax.xaxis.set_ticks_position('none') | |||||
| ax2 = ax.twinx() | |||||
| p5 = ax2.plot(ind + width / 2, tgm2 / tgm1, 'bo-', | |||||
| label='$t_2 / $ $t_1$') | |||||
| ax2.set_ylabel('ratios') | |||||
| ax2.spines['top'].set_visible(False) | |||||
| ax2.spines['bottom'].set_visible(False) | |||||
| ax2.spines['left'].set_visible(False) | |||||
| ax2.spines['right'].set_visible(False) | |||||
| ax2.xaxis.set_ticks_position('none') | |||||
| ax2.yaxis.set_ticks_position('none' | |||||
| ) | |||||
| ax.yaxis.set_ticks_position('none') | |||||
| fig.subplots_adjust(right=0.63) | |||||
| fig.legend(loc='right', ncol=1, frameon=False) # , ncol=5, labelspacing=0.1, handletextpad=0.4, columnspacing=0.6) | |||||
| plt.savefig('../check_gm/parallel_runtime_on_different_machines.eps', format='eps', dpi=300, | |||||
| transparent=True, bbox_inches='tight') | |||||
| plt.show() | |||||