From 7114747db32b76d51b6fcdb9f035974b445f3354 Mon Sep 17 00:00:00 2001
From: Ryan Randles Jones <rrand11@login001.cm.cluster>
Date: Mon, 17 Aug 2020 13:46:50 -0500
Subject: [PATCH] put graphs together in facet grids

---
 Runtime-and-CoreCount.ipynb | 433 +++++++-----------------------------
 1 file changed, 76 insertions(+), 357 deletions(-)

diff --git a/Runtime-and-CoreCount.ipynb b/Runtime-and-CoreCount.ipynb
index f555f18..71a3642 100644
--- a/Runtime-and-CoreCount.ipynb
+++ b/Runtime-and-CoreCount.ipynb
@@ -367,50 +367,23 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "# must run\n",
-    "\n",
-    "# clustered graph\n",
-    "style.default_axes_and_ticks()\n",
-    "style.figsize()\n",
-    "\n",
-    "elapsed_rqmem_clustergraph = plt.scatter(df_runtime_cluster['ReqMemCPU'],df_runtime_cluster['Elapsed'], c=kmeans_elapsed_reqmem.labels_, cmap='rainbow')\n",
-    "plt.scatter(kmeans_elapsed_reqmem.cluster_centers_[:,0] ,kmeans_elapsed_reqmem.cluster_centers_[:,1], color='black')\n",
+    "figure = plt.figure(figsize=(14, 8))\n",
+    "figure.suptitle('Runtime per Requested gigs of RAM %i gigs or less'%UpperlimitGB)\n",
     "\n",
+    "elapsed_rqmem_clustergraph = figure.add_subplot(121)\n",
+    "elapsed_rqmem_clustergraph.scatter(df_runtime_cluster['ReqMemCPU'],df_runtime_cluster['Elapsed'], c=kmeans_elapsed_reqmem.labels_, cmap='rainbow')\n",
+    "elapsed_rqmem_clustergraph.scatter(kmeans_elapsed_reqmem.cluster_centers_[:,0] ,kmeans_elapsed_reqmem.cluster_centers_[:,1], color='black')\n",
     "plt.xlabel('ReqMemCPU(gigs)')\n",
     "plt.ylabel('Elapsed(hours)')\n",
-    "plt.title('Runtime per Requested gigs of RAM %i gigs or less'%UpperlimitGB)\n",
-    "plt.show()"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "style.default_axes_and_ticks()\n",
-    "\n",
-    "elapsed_rqmem_clustergraph_3d = plt.figure(figsize=(10, 6)).gca(projection='3d')\n",
     "\n",
+    "elapsed_rqmem_clustergraph_3d = figure.add_subplot(122, projection='3d')\n",
     "elapsed_rqmem_clustergraph_3d.scatter(df_runtime_cluster['ReqMemCPU'], df_runtime_cluster['Elapsed'], df_runtime_cluster['AllocCPUS'], c=kmeans_elapsed_reqmem.labels_ ,cmap='rainbow')\n",
-    "                                      #zdir='y',)\n",
     "elapsed_rqmem_clustergraph_3d.scatter(kmeans_elapsed_reqmem.cluster_centers_[:,0] ,kmeans_elapsed_reqmem.cluster_centers_[:,1], color='black')\n",
-    "                                      #zdir='y',)\n",
-    "\n",
-    "#elapsed_rqmem_clustergraph_3d.view_init(elev=20., azim=-35)\n",
-    "#elapsed_rqmem_clustergraph_3d.view_init(30, 70)\n",
-    "\n",
-    "\n",
-    "\n",
-    "#elapsed_rqmem_clustergraph_3d.invert_xaxis()\n",
-    "#elapsed_rqmem_clustergraph_3d.invert_yaxis()\n",
-    "#elapsed_rqmem_clustergraph_3d.invert_zaxis()\n",
-    "\n",
     "elapsed_rqmem_clustergraph_3d.set_xlabel('ReqMemCPU(gigs)')\n",
     "elapsed_rqmem_clustergraph_3d.set_ylabel('Elapsed(hours)')\n",
     "elapsed_rqmem_clustergraph_3d.set_zlabel('AllocCPUS')\n",
     "\n",
-    "plt.show()"
+    "plt.show()\n"
    ]
   },
   {
@@ -467,13 +440,6 @@
     "print(\"AllocCPUS:\", \"min =\",df_elapsed_reqmem_2.AllocCPUS.min(),\" \",\"max =\",df_elapsed_reqmem_2.AllocCPUS.max())"
    ]
   },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Graphing of the Purple Section of Runtime per Requested gigs of RAM Clusters"
-   ]
-  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -482,8 +448,9 @@
    "source": [
     "df_elapsed_reqmem_swarmplot0 = df_elapsed_reqmem_0.groupby(['ReqMemCPU','Elapsed']).sum().reset_index()\n",
     "\n",
-    "df_elapsed_reqmem_swarmplot0.head(5)\n",
-    "#df_swarmplot0.ReqMemCPU.count()"
+    "df_elapsed_reqmem_swarmplot1 = df_elapsed_reqmem_1.groupby(['ReqMemCPU','Elapsed']).sum().reset_index()\n",
+    "\n",
+    "df_elapsed_reqmem_swarmplot2 = df_elapsed_reqmem_2.groupby(['ReqMemCPU','Elapsed']).sum().reset_index()"
    ]
   },
   {
@@ -492,119 +459,55 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "style.default_axes_and_ticks()\n",
-    "style.figsize()\n",
-    "\n",
-    "elapsed_reqmem_clustergraph_0 = plt.scatter(df_elapsed_reqmem_0['ReqMemCPU'],df_elapsed_reqmem_0['Elapsed'], color = \"purple\")\n",
+    "figure = plt.figure(figsize=(14, 12))\n",
+    "figure.suptitle('Clusters')\n",
     "\n",
+    "#purple cluster and swarmplot\n",
+    "elapsed_reqmem_clustergraph_0 = figure.add_subplot(321)\n",
+    "elapsed_reqmem_clustergraph_0.scatter(df_elapsed_reqmem_0['ReqMemCPU'],df_elapsed_reqmem_0['Elapsed'], color = \"purple\")\n",
     "plt.xlabel('ReqMemCPU(gigs)')\n",
     "plt.ylabel('Elapsed(hours)')\n",
-    "#plt.title('Runtime per Requested gigs of RAM %i gigs or less'%UpperlimitGB)\n",
-    "plt.show()\n",
     "\n",
-    "#elapsed_reqmem_swarmgraph_0 = sns.swarmplot(data=df_elapsed_reqmem_0, x='ReqMemCPU', y='Elapsed')\n",
+    "figure.add_subplot(322)\n",
     "elapsed_reqmem_swarmgraph_0 = sns.swarmplot(data=df_elapsed_reqmem_swarmplot0, x='ReqMemCPU', y='Elapsed')\n",
     "\n",
     "plt.yticks(np.arange(df_elapsed_reqmem_0.Elapsed.min(), df_elapsed_reqmem_0.Elapsed.max(), 5))\n",
-    "\n",
     "plt.margins(0.02)\n",
     "plt.xlabel('ReqMemCPU(gigs)')\n",
     "plt.ylabel('Elapsed(hours)')\n",
-    "#plt.title('Runtime per Requested gigs of RAM %i gigs or less'%UpperlimitGB)\n",
-    "plt.show()"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Graphing of the Green Section of Runtime per Requested gigs of RAM Clusters"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "df_elapsed_reqmem_swarmplot1 = df_elapsed_reqmem_1.groupby(['ReqMemCPU','Elapsed']).sum().reset_index()\n",
-    "\n",
-    "df_elapsed_reqmem_swarmplot1.head(5)\n",
-    "#df_swarmplot0.ReqMemCPU.count()"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "style.default_axes_and_ticks()\n",
-    "style.figsize()\n",
     "\n",
-    "elapsed_reqmem_clustergraph_1 = plt.scatter(df_elapsed_reqmem_1['ReqMemCPU'],df_elapsed_reqmem_1['Elapsed'], color = \"green\")\n",
     "\n",
+    "#green cluster and swarmplot\n",
+    "elapsed_reqmem_clustergraph_1 = figure.add_subplot(323)\n",
+    "elapsed_reqmem_clustergraph_1.scatter(df_elapsed_reqmem_1['ReqMemCPU'],df_elapsed_reqmem_1['Elapsed'], color = \"green\")\n",
     "plt.xlabel('ReqMemCPU(gigs)')\n",
     "plt.ylabel('Elapsed(hours)')\n",
-    "#plt.title('Runtime per Requested gigs of RAM %i gigs or less'%UpperlimitGB)\n",
-    "plt.show()\n",
-    "\n",
     "\n",
+    "figure.add_subplot(324)\n",
     "elapsed_reqmem_swarmgraph_1 = sns.swarmplot(data=df_elapsed_reqmem_swarmplot1, x='ReqMemCPU', y='Elapsed')\n",
+    "\n",
+    "plt.yticks(np.arange(df_elapsed_reqmem_1.Elapsed.min(), df_elapsed_reqmem_1.Elapsed.max(), 5))\n",
     "plt.margins(0.02)\n",
     "plt.xlabel('ReqMemCPU(gigs)')\n",
     "plt.ylabel('Elapsed(hours)')\n",
-    "#plt.title('Runtime per Requested gigs of RAM %i gigs or less'%UpperlimitGB)\n",
-    "plt.show()"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Graphing of the Red Section of Runtime per Requested gigs of RAM Clusters"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "df_elapsed_reqmem_swarmplot2 = df_elapsed_reqmem_2.groupby(['ReqMemCPU','Elapsed']).sum().reset_index()\n",
-    "\n",
-    "df_elapsed_reqmem_swarmplot2.head(5)\n",
-    "#df_swarmplot0.ReqMemCPU.count()"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "style.default_axes_and_ticks()\n",
-    "style.figsize()\n",
     "\n",
-    "elapsed_reqmem_clustergraph_2 = plt.scatter(df_elapsed_reqmem_2['ReqMemCPU'],df_elapsed_reqmem_2['Elapsed'], color = \"red\")\n",
-    "\n",
-    "plt.xticks(np.arange(df_elapsed_reqmem_2.ReqMemCPU.min(), df_elapsed_reqmem_2.ReqMemCPU.max(), 8))\n",
-    "plt.yticks(np.arange(df_elapsed_reqmem_2.Elapsed.min(), df_elapsed_reqmem_2.Elapsed.max(), 10))\n",
     "\n",
+    "#red cluster and swarmplot\n",
+    "elapsed_reqmem_clustergraph_2 = figure.add_subplot(325)\n",
+    "elapsed_reqmem_clustergraph_2.scatter(df_elapsed_reqmem_2['ReqMemCPU'],df_elapsed_reqmem_2['Elapsed'], color = \"red\")\n",
     "plt.xlabel('ReqMemCPU(gigs)')\n",
     "plt.ylabel('Elapsed(hours)')\n",
-    "#plt.title('Runtime per Requested gigs of RAM %i gigs or less'%UpperlimitGB)\n",
-    "plt.show()\n",
     "\n",
+    "figure.add_subplot(326)\n",
     "elapsed_reqmem_swarmgraph_2 = sns.swarmplot(data=df_elapsed_reqmem_swarmplot2, x='ReqMemCPU', y='Elapsed')\n",
     "\n",
     "plt.yticks(np.arange(df_elapsed_reqmem_2.Elapsed.min(), df_elapsed_reqmem_2.Elapsed.max(), 10))\n",
-    "\n",
     "plt.margins(0.02)\n",
     "plt.xlabel('ReqMemCPU(gigs)')\n",
     "plt.ylabel('Elapsed(hours)')\n",
-    "#plt.title('Runtime per Requested gigs of RAM %i gigs or less'%UpperlimitGB)\n",
-    "plt.show()"
+    "\n",
+    "\n",
+    "plt.show()\n"
    ]
   },
   {
@@ -634,45 +537,18 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "# must run\n",
-    "\n",
-    "# clustered graph\n",
-    "style.default_axes_and_ticks()\n",
-    "style.figsize()\n",
-    "\n",
-    "elapsed_alloc_clustergraph = plt.scatter(df_runtime_cluster['AllocCPUS'],df_runtime_cluster['Elapsed'], c=kmeans_elapsed_alloc.labels_, cmap='rainbow')\n",
-    "plt.scatter(kmeans_elapsed_alloc.cluster_centers_[:,0] ,kmeans_elapsed_alloc.cluster_centers_[:,1], color='black')\n",
+    "figure = plt.figure(figsize=(14, 8))\n",
+    "figure.suptitle('Runtime per Requested gigs of RAM %i gigs or less'%UpperlimitGB)\n",
     "\n",
+    "elapsed_alloc_clustergraph = figure.add_subplot(121)\n",
+    "elapsed_alloc_clustergraph.scatter(df_runtime_cluster['AllocCPUS'],df_runtime_cluster['Elapsed'], c=kmeans_elapsed_alloc.labels_, cmap='rainbow')\n",
+    "elapsed_alloc_clustergraph.scatter(kmeans_elapsed_alloc.cluster_centers_[:,0] ,kmeans_elapsed_alloc.cluster_centers_[:,1], color='black')\n",
     "plt.xlabel('AllocCPUS')\n",
     "plt.ylabel('Elapsed(hours)')\n",
-    "plt.title('Runtime per Cores of %i cores or less'%UpperlimitAllocCPU)\n",
-    "plt.show()"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "style.default_axes_and_ticks()\n",
-    "\n",
-    "elapsed_alloc_clustergraph_3d = plt.figure(figsize=(10, 6)).gca(projection='3d')\n",
     "\n",
+    "elapsed_alloc_clustergraph_3d = figure.add_subplot(122, projection='3d')\n",
     "elapsed_alloc_clustergraph_3d.scatter(df_runtime_cluster['AllocCPUS'], df_runtime_cluster['Elapsed'], df_runtime_cluster['ReqMemCPU'], c=kmeans_elapsed_alloc.labels_ ,cmap='rainbow')\n",
-    "                                      #zdir='y',)\n",
     "elapsed_alloc_clustergraph_3d.scatter(kmeans_elapsed_alloc.cluster_centers_[:,0] ,kmeans_elapsed_alloc.cluster_centers_[:,1], color='black')\n",
-    "                                      #zdir='y',)\n",
-    "\n",
-    "#elapsed_alloc_clustergraph_3d.view_init(elev=20., azim=-35)\n",
-    "#elapsed_alloc_clustergraph_3d.view_init(30, 70)\n",
-    "\n",
-    "\n",
-    "\n",
-    "#elapsed_alloc_clustergraph_3d.invert_xaxis()\n",
-    "#elapsed_alloc_clustergraph_3d.invert_yaxis()\n",
-    "#elapsed_alloc_clustergraph_3d.invert_zaxis()\n",
-    "\n",
     "elapsed_alloc_clustergraph_3d.set_xlabel('AllocCPUS')\n",
     "elapsed_alloc_clustergraph_3d.set_ylabel('Elapsed(hours)')\n",
     "elapsed_alloc_clustergraph_3d.set_zlabel('ReqMemCPU(gigs)')\n",
@@ -734,13 +610,6 @@
     "print(\"AllocCPUS:\", \"min =\",df_elapsed_alloc_2.AllocCPUS.min(),\" \",\"max =\",df_elapsed_alloc_2.AllocCPUS.max())"
    ]
   },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Graphing of the Purple Section of Runtime per Requested gigs of RAM Clusters"
-   ]
-  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -748,9 +617,8 @@
    "outputs": [],
    "source": [
     "df_elapsed_alloc_swarmplot0 = df_elapsed_alloc_0.groupby(['AllocCPUS','Elapsed']).sum().reset_index()\n",
-    "\n",
-    "df_elapsed_alloc_swarmplot0.head(5)\n",
-    "#df_swarmplot0.ReqMemCPU.count()"
+    "df_elapsed_alloc_swarmplot1 = df_elapsed_alloc_1.groupby(['AllocCPUS','Elapsed']).sum().reset_index()\n",
+    "df_elapsed_alloc_swarmplot2 = df_elapsed_alloc_2.groupby(['AllocCPUS','Elapsed']).sum().reset_index()"
    ]
   },
   {
@@ -759,62 +627,31 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "style.default_axes_and_ticks()\n",
-    "style.figsize()\n",
-    "\n",
-    "elapsed_alloc_clustergraph_0 = plt.scatter(df_elapsed_alloc_0['AllocCPUS'],df_elapsed_alloc_0['Elapsed'], color = \"purple\")\n",
+    "figure = plt.figure(figsize=(14, 12))\n",
+    "figure.suptitle('Clusters')\n",
     "\n",
+    "#purple cluster and swarmplot\n",
+    "elapsed_alloc_clustergraph_0 = figure.add_subplot(321)\n",
+    "elapsed_alloc_clustergraph_0.scatter(df_elapsed_alloc_0['AllocCPUS'],df_elapsed_alloc_0['Elapsed'], color = \"purple\")\n",
     "plt.xlabel('AllocCPUS')\n",
     "plt.ylabel('Elapsed(hours)')\n",
-    "#plt.title('Runtime per Requested gigs of RAM %i gigs or less'%UpperlimitGB)\n",
-    "plt.show()\n",
     "\n",
-    "#elapsed_reqmem_swarmgraph_0 = sns.swarmplot(data=df_elapsed_reqmem_0, x='ReqMemCPU', y='Elapsed')\n",
+    "figure.add_subplot(322)\n",
     "elapsed_alloc_swarmgraph_0 = sns.swarmplot(data=df_elapsed_alloc_swarmplot0, x='AllocCPUS', y='Elapsed')\n",
     "\n",
     "plt.yticks(np.arange(df_elapsed_alloc_0.Elapsed.min(), df_elapsed_alloc_0.Elapsed.max(), 5))\n",
-    "\n",
     "plt.margins(0.02)\n",
     "plt.xlabel('AllocCPUS')\n",
     "plt.ylabel('Elapsed(hours)')\n",
-    "#plt.title('Runtime per Requested gigs of RAM %i gigs or less'%UpperlimitAllocCPU)\n",
-    "plt.show()"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# Graphing of the Green Section of Runtime per Requested gigs of RAM Clusters"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "df_elapsed_alloc_swarmplot1 = df_elapsed_alloc_1.groupby(['AllocCPUS','Elapsed']).sum().reset_index()\n",
-    "\n",
-    "df_elapsed_alloc_swarmplot1.head(5)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "style.default_axes_and_ticks()\n",
-    "style.figsize()\n",
     "\n",
-    "elapsed_alloc_clustergraph_1 = plt.scatter(df_elapsed_alloc_1['AllocCPUS'],df_elapsed_alloc_1['Elapsed'], color = \"green\")\n",
     "\n",
+    "#green cluster and swarmplot\n",
+    "elapsed_alloc_clustergraph_1 = figure.add_subplot(323)\n",
+    "elapsed_alloc_clustergraph_1.scatter(df_elapsed_alloc_1['AllocCPUS'],df_elapsed_alloc_1['Elapsed'], color = \"green\")\n",
     "plt.xlabel('AllocCPUS')\n",
     "plt.ylabel('Elapsed(hours)')\n",
-    "#plt.title('Runtime per Requested gigs of RAM %i gigs or less'%UpperlimitGB)\n",
-    "plt.show()\n",
     "\n",
+    "figure.add_subplot(324)\n",
     "elapsed_alloc_swarmgraph_1 = sns.swarmplot(data=df_elapsed_alloc_swarmplot1, x='AllocCPUS', y='Elapsed')\n",
     "\n",
     "plt.yticks(np.arange(df_elapsed_alloc_1.Elapsed.min(), df_elapsed_alloc_1.Elapsed.max(), 5))\n",
@@ -822,44 +659,15 @@
     "plt.margins(0.02)\n",
     "plt.xlabel('AllocCPUS')\n",
     "plt.ylabel('Elapsed(hours)')\n",
-    "#plt.title('Runtime per Requested gigs of RAM %i gigs or less'%UpperlimitAllocCPU)\n",
-    "plt.show()"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# Graphing of the Red Section of Runtime per Requested gigs of RAM Clusters"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "df_elapsed_alloc_swarmplot2 = df_elapsed_alloc_2.groupby(['AllocCPUS','Elapsed']).sum().reset_index()\n",
     "\n",
-    "df_elapsed_alloc_swarmplot2.head(5)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "style.default_axes_and_ticks()\n",
-    "style.figsize()\n",
-    "\n",
-    "elapsed_alloc_clustergraph_2 = plt.scatter(df_elapsed_alloc_2['AllocCPUS'],df_elapsed_alloc_2['Elapsed'], color = \"red\")\n",
     "\n",
+    "#red cluster and swarmplot\n",
+    "elapsed_alloc_clustergraph_2 = figure.add_subplot(325)\n",
+    "elapsed_alloc_clustergraph_2.scatter(df_elapsed_alloc_2['AllocCPUS'],df_elapsed_alloc_2['Elapsed'], color = \"red\")\n",
     "plt.xlabel('AllocCPUS')\n",
     "plt.ylabel('Elapsed(hours)')\n",
-    "#plt.title('Runtime per Requested gigs of RAM %i gigs or less'%UpperlimitGB)\n",
-    "plt.show()\n",
     "\n",
+    "figure.add_subplot(326)\n",
     "elapsed_alloc_swarmgraph_2 = sns.swarmplot(data=df_elapsed_alloc_swarmplot2, x='AllocCPUS', y='Elapsed')\n",
     "\n",
     "plt.yticks(np.arange(df_elapsed_alloc_2.Elapsed.min(), df_elapsed_alloc_2.Elapsed.max(), 10))\n",
@@ -867,7 +675,8 @@
     "plt.margins(0.02)\n",
     "plt.xlabel('AllocCPUS')\n",
     "plt.ylabel('Elapsed(hours)')\n",
-    "#plt.title('Runtime per Requested gigs of RAM %i gigs or less'%UpperlimitAllocCPU)\n",
+    "\n",
+    "\n",
     "plt.show()"
    ]
   },
@@ -966,45 +775,19 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "# must run\n",
-    "\n",
-    "# clustered graph\n",
-    "style.default_axes_and_ticks()\n",
-    "style.figsize()\n",
-    "\n",
-    "alloc_reqmem_cluster_graph = plt.scatter(df_alloc_cluster['ReqMemCPU'],df_alloc_cluster['AllocCPUS'], c=kmeans_alloc_reqmem.labels_, cmap='rainbow')\n",
-    "plt.scatter(kmeans_alloc_reqmem.cluster_centers_[:,0] ,kmeans_alloc_reqmem.cluster_centers_[:,1], color='black')\n",
+    "figure = plt.figure(figsize=(14, 8))\n",
+    "figure.suptitle('Runtime per Requested gigs of RAM %i gigs or less'%UpperlimitGB)\n",
     "\n",
+    "alloc_reqmem_cluster_graph = figure.add_subplot(121)\n",
+    "alloc_reqmem_cluster_graph.scatter(df_alloc_cluster['ReqMemCPU'],df_alloc_cluster['AllocCPUS'], c=kmeans_alloc_reqmem.labels_, cmap='rainbow')\n",
+    "alloc_reqmem_cluster_graph.scatter(kmeans_alloc_reqmem.cluster_centers_[:,0] ,kmeans_alloc_reqmem.cluster_centers_[:,1], color='black')\n",
     "plt.xlabel('ReqMemCPU(gigs)')\n",
     "plt.ylabel('AllocCPUS')\n",
-    "#plt.title('Number of Cores used by Requested RAM %i gigs or less'%UpperlimitGB_core)\n",
-    "plt.show()"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "style.default_axes_and_ticks()\n",
     "\n",
-    "alloc_reqmem_clustergraph_3d = plt.figure(figsize=(10, 6)).gca(projection='3d')\n",
     "\n",
+    "alloc_reqmem_clustergraph_3d = figure.add_subplot(122, projection='3d')\n",
     "alloc_reqmem_clustergraph_3d.scatter(df_alloc_cluster['ReqMemCPU'], df_alloc_cluster['AllocCPUS'], df_alloc_cluster['Elapsed'], c=kmeans_alloc_reqmem.labels_ ,cmap='rainbow')\n",
-    "                                      #zdir='y',)\n",
     "alloc_reqmem_clustergraph_3d.scatter(kmeans_alloc_reqmem.cluster_centers_[:,0] ,kmeans_alloc_reqmem.cluster_centers_[:,1], color='black')\n",
-    "                                      #zdir='y',)\n",
-    "\n",
-    "#elapsed_alloc_clustergraph_3d.view_init(elev=20., azim=-35)\n",
-    "#elapsed_alloc_clustergraph_3d.view_init(30, 70)\n",
-    "\n",
-    "\n",
-    "\n",
-    "#elapsed_alloc_clustergraph_3d.invert_xaxis()\n",
-    "#elapsed_alloc_clustergraph_3d.invert_yaxis()\n",
-    "#elapsed_alloc_clustergraph_3d.invert_zaxis()\n",
-    "\n",
     "alloc_reqmem_clustergraph_3d.set_xlabel('ReqMemCPU(gigs')\n",
     "alloc_reqmem_clustergraph_3d.set_ylabel('AllocCPUS')\n",
     "alloc_reqmem_clustergraph_3d.set_zlabel('Elapsed(hours)')\n",
@@ -1066,13 +849,6 @@
     "print(\"AllocCPUS:\", \"min =\",df_alloc_reqmem_2.AllocCPUS.min(),\" \",\"max =\",df_alloc_reqmem_2.AllocCPUS.max())"
    ]
   },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Graphing of the Purple Section of Runtime per Requested gigs of RAM Clusters"
-   ]
-  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -1080,8 +856,8 @@
    "outputs": [],
    "source": [
     "df_alloc_reqmem_swarmplot0 = df_alloc_reqmem_0.groupby(['AllocCPUS','ReqMemCPU']).sum().reset_index()\n",
-    "\n",
-    "df_alloc_reqmem_swarmplot0.head(5)"
+    "df_alloc_reqmem_swarmplot1 = df_alloc_reqmem_1.groupby(['AllocCPUS','ReqMemCPU']).sum().reset_index()\n",
+    "df_alloc_reqmem_swarmplot2 = df_alloc_reqmem_2.groupby(['AllocCPUS','ReqMemCPU']).sum().reset_index()"
    ]
   },
   {
@@ -1090,16 +866,16 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "style.default_axes_and_ticks()\n",
-    "style.figsize()\n",
-    "\n",
-    "alloc_reqmem_clustergraph_0 = plt.scatter(df_alloc_reqmem_0['ReqMemCPU'],df_alloc_reqmem_0['AllocCPUS'], color = \"purple\")\n",
+    "figure = plt.figure(figsize=(14, 12))\n",
+    "figure.suptitle('Clusters')\n",
     "\n",
+    "#purple cluster and swarmplot\n",
+    "alloc_reqmem_clustergraph_0 = figure.add_subplot(321)\n",
+    "alloc_reqmem_clustergraph_0.scatter(df_alloc_reqmem_0['ReqMemCPU'],df_alloc_reqmem_0['AllocCPUS'], color = \"purple\")\n",
     "plt.xlabel('ReqMemCPU(gigs)')\n",
     "plt.ylabel('AllocCPUS')\n",
-    "#plt.title('Runtime per Requested gigs of RAM %i gigs or less'%UpperlimitGB)\n",
-    "plt.show()\n",
     "\n",
+    "figure.add_subplot(322)\n",
     "alloc_reqmem_swarmgraph_0 = sns.swarmplot(data=df_alloc_reqmem_swarmplot0, x='ReqMemCPU', y='AllocCPUS')\n",
     "\n",
     "plt.yticks(np.arange(0, df_alloc_reqmem_0.AllocCPUS.max(), 3))\n",
@@ -1107,44 +883,15 @@
     "plt.margins(0.02)\n",
     "plt.xlabel('ReqMemCPU(gigs)')\n",
     "plt.ylabel('AllocCPUS')\n",
-    "#plt.title('Runtime per Requested gigs of RAM %i gigs or less'%UpperlimitAllocCPU)\n",
-    "plt.show()"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Graphing of the Green Section of Runtime per Requested gigs of RAM Clusters"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "df_alloc_reqmem_swarmplot1 = df_alloc_reqmem_1.groupby(['AllocCPUS','ReqMemCPU']).sum().reset_index()\n",
     "\n",
-    "df_alloc_reqmem_swarmplot1.head(5)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "style.default_axes_and_ticks()\n",
-    "style.figsize()\n",
-    "\n",
-    "alloc_reqmem_clustergraph_1 = plt.scatter(df_alloc_reqmem_1['ReqMemCPU'],df_alloc_reqmem_1['AllocCPUS'], color = \"green\")\n",
     "\n",
+    "#green cluster and swarmplot\n",
+    "alloc_reqmem_clustergraph_1 = figure.add_subplot(323)\n",
+    "alloc_reqmem_clustergraph_1.scatter(df_alloc_reqmem_1['ReqMemCPU'],df_alloc_reqmem_1['AllocCPUS'], color = \"green\")\n",
     "plt.xlabel('ReqMemCPU(gigs)')\n",
     "plt.ylabel('AllocCPUS')\n",
-    "#plt.title('Runtime per Requested gigs of RAM %i gigs or less'%UpperlimitGB)\n",
-    "plt.show()\n",
     "\n",
+    "figure.add_subplot(324)\n",
     "alloc_reqmem_swarmgraph_1 = sns.swarmplot(data=df_alloc_reqmem_swarmplot1, x='ReqMemCPU', y='AllocCPUS')\n",
     "\n",
     "plt.yticks(np.arange(df_alloc_reqmem_1.AllocCPUS.min(), df_alloc_reqmem_1.AllocCPUS.max(), 5))\n",
@@ -1152,44 +899,15 @@
     "plt.margins(0.02)\n",
     "plt.xlabel('ReqMemCPU(gigs)')\n",
     "plt.ylabel('AllocCPUS')\n",
-    "#plt.title('Runtime per Requested gigs of RAM %i gigs or less'%UpperlimitAllocCPU)\n",
-    "plt.show()"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Graphing of the Red Section of Runtime per Requested gigs of RAM Clusters"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "df_alloc_reqmem_swarmplot2 = df_alloc_reqmem_2.groupby(['AllocCPUS','ReqMemCPU']).sum().reset_index()\n",
     "\n",
-    "df_alloc_reqmem_swarmplot2.head(5)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "style.default_axes_and_ticks()\n",
-    "style.figsize()\n",
     "\n",
+    "#red cluster and swarmplot\n",
+    "alloc_reqmem_clustergraph_2 = figure.add_subplot(325)\n",
     "alloc_reqmem_clustergraph_2 = plt.scatter(df_alloc_reqmem_2['ReqMemCPU'],df_alloc_reqmem_2['AllocCPUS'], color = \"red\")\n",
-    "\n",
     "plt.xlabel('ReqMemCPU(gigs)')\n",
     "plt.ylabel('AllocCPUS')\n",
-    "#plt.title('Runtime per Requested gigs of RAM %i gigs or less'%UpperlimitGB)\n",
-    "plt.show()\n",
     "\n",
+    "figure.add_subplot(326)\n",
     "alloc_reqmem_swarmgraph_2 = sns.swarmplot(data=df_alloc_reqmem_swarmplot2, x='ReqMemCPU', y='AllocCPUS')\n",
     "\n",
     "plt.yticks(np.arange(df_alloc_reqmem_2.AllocCPUS.min(), df_alloc_reqmem_2.AllocCPUS.max(), 5))\n",
@@ -1197,7 +915,8 @@
     "plt.margins(0.02)\n",
     "plt.xlabel('ReqMemCPU(gigs)')\n",
     "plt.ylabel('AllocCPUS')\n",
-    "#plt.title('Runtime per Requested gigs of RAM %i gigs or less'%UpperlimitAllocCPU)\n",
+    "\n",
+    "\n",
     "plt.show()"
    ]
   },
-- 
GitLab