| @@ -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() | |||