diff --git a/TestON/JenkinsFile/FUNCJenkinsFile b/TestON/JenkinsFile/FUNCJenkinsFile
index a27f0ad..e7b1d3b 100644
--- a/TestON/JenkinsFile/FUNCJenkinsFile
+++ b/TestON/JenkinsFile/FUNCJenkinsFile
@@ -18,7 +18,7 @@
 ]
 table_name = "executed_test_tests"
 result_name = "executed_test_results"
-graph_generator_file = "~/OnosSystemTest/TestON/JenkinsFile/testCaseGraphGenerator.R"
+graph_generator_file = "~/OnosSystemTest/TestON/JenkinsFile/scripts/testCaseGraphGenerator.R"
 graph_saved_directory = "/var/jenkins/workspace/Pipeline_postjob_VM/"
 echo("Testcases:")
 def testsToRun = null
diff --git a/TestON/JenkinsFile/HAJenkinsFile b/TestON/JenkinsFile/HAJenkinsFile
index 40fc291..d123075 100644
--- a/TestON/JenkinsFile/HAJenkinsFile
+++ b/TestON/JenkinsFile/HAJenkinsFile
@@ -18,7 +18,7 @@
 
 table_name = "executed_test_tests"
 result_name = "executed_test_results"
-graph_generator_file = "~/OnosSystemTest/TestON/JenkinsFile/testCaseGraphGenerator.R"
+graph_generator_file = "~/OnosSystemTest/TestON/JenkinsFile/scripts/testCaseGraphGenerator.R"
 graph_saved_directory = "/var/jenkins/workspace/Pipeline_postjob_VM/"
 
 echo("Testcases:")
diff --git a/TestON/JenkinsFile/SCPFJenkinsFile b/TestON/JenkinsFile/SCPFJenkinsFile
index 71f2085..378ce1f 100644
--- a/TestON/JenkinsFile/SCPFJenkinsFile
+++ b/TestON/JenkinsFile/SCPFJenkinsFile
@@ -28,7 +28,7 @@
 ]
 
 echo("Testcases:")
-graph_generator_directory = "~/OnosSystemTest/TestON/JenkinsFile/SCPF/"
+graph_generator_directory = "~/OnosSystemTest/TestON/JenkinsFile/scripts/"
 graph_saved_directory = "/var/jenkins/workspace/Pipeline_postjob_BM/"
 def testsToRun = null
 def prop = null
diff --git a/TestON/JenkinsFile/USECASEJenkinsFile b/TestON/JenkinsFile/USECASEJenkinsFile
index dbda5b2..3c78dbe 100644
--- a/TestON/JenkinsFile/USECASEJenkinsFile
+++ b/TestON/JenkinsFile/USECASEJenkinsFile
@@ -26,7 +26,7 @@
 
 table_name = "executed_test_tests"
 result_name = "executed_test_results"
-graph_generator_file = "~/OnosSystemTest/TestON/JenkinsFile/testCaseGraphGenerator.R"
+graph_generator_file = "~/OnosSystemTest/TestON/JenkinsFile/scripts/testCaseGraphGenerator.R"
 graph_saved_directory = "/var/jenkins/workspace/Pipeline_postjob_BM/"
 
 echo("Testcases:")
diff --git a/TestON/JenkinsFile/SCPF/SCPFIntentInstallWithdrawRerouteLat.R b/TestON/JenkinsFile/scripts/SCPFIntentInstallWithdrawRerouteLat.R
similarity index 95%
rename from TestON/JenkinsFile/SCPF/SCPFIntentInstallWithdrawRerouteLat.R
rename to TestON/JenkinsFile/scripts/SCPFIntentInstallWithdrawRerouteLat.R
index 897460b..20b4ddd 100644
--- a/TestON/JenkinsFile/SCPF/SCPFIntentInstallWithdrawRerouteLat.R
+++ b/TestON/JenkinsFile/scripts/SCPFIntentInstallWithdrawRerouteLat.R
@@ -129,6 +129,11 @@
 dataFrame$type <- as.character( dataFrame$type )
 dataFrame$type <- factor( dataFrame$type, levels=unique( dataFrame$type ) )
 
+dataFrame <- na.omit( dataFrame )   # Omit any data that doesn't exist
+
+print( "Data Frame Results:" )
+print( dataFrame )
+
 # **********************************************************
 # STEP 3: Generate graphs.
 # **********************************************************
@@ -146,6 +151,8 @@
 
 print( "Generating fundamental graph data." )
 
+theme_set( theme_grey( base_size = 20 ) )   # set the default text size of the graph.
+
 # Calculate window to display graph, based on the lowest and highest points of the data.
 if ( min( dataFrame$ms - dataFrame$stds ) < 0){
     yWindowMin <- min( dataFrame$ms - dataFrame$stds ) * 1.05
@@ -165,12 +172,12 @@
 fillLabel <- labs( fill="Type" )
 chartTitle <- "Intent Install, Withdraw, & Reroute Latencies"
 if ( args[ 1 ] == "y" ){
-    chartTitle <- paste( chartTitle, "with Flow Objectives" )
+    chartTitle <- paste( chartTitle, "w/ FlowObj" )
 }
 chartTitle <- paste( chartTitle, "\nBatch Size =" )
 chartTitle <- paste( chartTitle, fileData1[ 1,'batch_size' ] )
 
-theme <- theme( plot.title=element_text( hjust = 0.5, size = 18, face='bold' ) )
+theme <- theme( plot.title=element_text( hjust = 0.5, size = 28, face='bold' ) )
 
 # Store plot configurations as 1 variable
 fundamentalGraphData <- mainPlot + xScaleConfig + yLimit + xLabel + yLabel + fillLabel + theme
diff --git a/TestON/JenkinsFile/SCPF/SCPFLineGraph.R b/TestON/JenkinsFile/scripts/SCPFLineGraph.R
similarity index 93%
rename from TestON/JenkinsFile/SCPF/SCPFLineGraph.R
rename to TestON/JenkinsFile/scripts/SCPFLineGraph.R
index f9c6c05..4b1ead6 100644
--- a/TestON/JenkinsFile/SCPF/SCPFLineGraph.R
+++ b/TestON/JenkinsFile/scripts/SCPFLineGraph.R
@@ -93,8 +93,10 @@
 dataFrame$Legend <- as.character( dataFrame$Legend )
 dataFrame$Legend <- factor( dataFrame$Legend, levels=unique( dataFrame$Legend ) )
 
-# Adding a temporary reversed iterative list to the dataFrame so that there are no gaps in-between date numbers.
-dataFrame$iterative <- seq( 1, nrow( fileData ), by = 1 )
+# Adding a temporary iterative list to the dataFrame so that there are no gaps in-between date numbers.
+dataFrame$iterative <- rev( seq( 1, nrow( fileData ), by = 1 ) )
+
+dataFrame <- na.omit( dataFrame )   # Omit any data that doesn't exist
 
 print( "Data Frame Results:" )
 print( dataFrame )
@@ -113,6 +115,7 @@
 #        - x: x-axis values (usually iterative, but it will become date # later)
 #        - y: y-axis values (usually tests)
 #        - color: the category of the colored lines (usually legend of test)
+theme_set( theme_grey( base_size = 20 ) )   # set the default text size of the graph.
 mainPlot <- ggplot( data = dataFrame, aes( x = iterative, y = Values, color = Legend ) )
 
 print( "Formatting main plot." )
@@ -127,7 +130,7 @@
 fillLabel <- labs( fill="Type" )
 legendLabels <- scale_colour_discrete( labels = names( fileData ) )
 centerTitle <- theme( plot.title=element_text( hjust = 0.5 ) )  # To center the title text
-theme <- theme( axis.text.x = element_blank(), axis.ticks.x = element_blank(), plot.title = element_text( size = 18, face='bold' ) )
+theme <- theme( axis.text.x = element_blank(), axis.ticks.x = element_blank(), plot.title = element_text( size = 28, face='bold' ) )
 
 fundamentalGraphData <- fundamentalGraphData + yScaleConfig + xLabel + yLabel + fillLabel + legendLabels + centerTitle + theme
 print( "Generating line graph." )
diff --git a/TestON/JenkinsFile/SCPF/SCPFbatchFlowResp.R b/TestON/JenkinsFile/scripts/SCPFbatchFlowResp.R
similarity index 92%
rename from TestON/JenkinsFile/SCPF/SCPFbatchFlowResp.R
rename to TestON/JenkinsFile/scripts/SCPFbatchFlowResp.R
index dbf18e9..476cafb 100644
--- a/TestON/JenkinsFile/SCPF/SCPFbatchFlowResp.R
+++ b/TestON/JenkinsFile/scripts/SCPFbatchFlowResp.R
@@ -86,18 +86,25 @@
 dataFrame$type <- as.character( dataFrame$type )
 dataFrame$type <- factor( dataFrame$type, levels=unique( dataFrame$type ) )
 
+dataFrame <- na.omit( dataFrame )   # Omit any data that doesn't exist
+
+print( "Data Frame Results:" )
+print( dataFrame )
+
 # **********************************************************
 # STEP 3: Generate graphs.
 # **********************************************************
 
 print( "Generating fundamental graph data." )
 
+theme_set( theme_grey( base_size = 20 ) )   # set the default text size of the graph.
+
 mainPlot <- ggplot( data = dataFrame, aes( x = iterative, y = ms, fill = type ) )
 xScaleConfig <- scale_x_continuous( breaks = dataFrame$iterative, label = dataFrame$date )
 xLabel <- xlab( "date" )
 yLabel <- ylab( "Latency (ms)" )
 fillLabel <- labs( fill="Type" )
-theme <- theme( plot.title=element_text( hjust = 0.5, size = 18, face='bold' ) )
+theme <- theme( plot.title=element_text( hjust = 0.5, size = 28, face='bold' ) )
 
 fundamentalGraphData <- mainPlot + xScaleConfig + xLabel + yLabel + fillLabel + theme
 
@@ -135,6 +142,10 @@
 dataFrame$type <- as.character( dataFrame$type )
 dataFrame$type <- factor( dataFrame$type, levels=unique( dataFrame$type ) )
 
+dataFrame <- na.omit( dataFrame )   # Omit any data that doesn't exist
+
+print( "Data Frame Results:" )
+print( dataFrame )
 
 # **********************************************************
 # STEP 3: Generate graphs.
@@ -142,12 +153,14 @@
 
 print( "Generating fundamental graph data." )
 
+theme_set( theme_grey( base_size = 20 ) )   # set the default text size of the graph.
+
 mainPlot <- ggplot( data = dataFrame, aes( x = iterative, y = ms, fill = type ) )
 xScaleConfig <- scale_x_continuous( breaks = dataFrame$iterative, label = dataFrame$date )
 xLabel <- xlab( "Build Date" )
 yLabel <- ylab( "Latency (ms)" )
 fillLabel <- labs( fill="Type" )
-theme <- theme( plot.title=element_text( hjust = 0.5, size = 18, face='bold' ) )
+theme <- theme( plot.title=element_text( hjust = 0.5, size = 28, face='bold' ) )
 
 fundamentalGraphData <- mainPlot + xScaleConfig + xLabel + yLabel + fillLabel + theme
 
diff --git a/TestON/JenkinsFile/SCPF/SCPFcbench.R b/TestON/JenkinsFile/scripts/SCPFcbench.R
similarity index 94%
rename from TestON/JenkinsFile/SCPF/SCPFcbench.R
rename to TestON/JenkinsFile/scripts/SCPFcbench.R
index 999504e..786a2fa 100644
--- a/TestON/JenkinsFile/SCPF/SCPFcbench.R
+++ b/TestON/JenkinsFile/scripts/SCPFcbench.R
@@ -86,17 +86,25 @@
 
 colnames( dataFrame ) <- c( "ms", "type", "std", "date", "iterative" )
 
+dataFrame <- na.omit( dataFrame )   # Omit any data that doesn't exist
+
+print( "Data Frame Results:" )
+print( dataFrame )
+
 # **********************************************************
 # STEP 3: Generate graphs.
 # **********************************************************
 
 print( "Generating fundamental graph data." )
+
+theme_set( theme_grey( base_size = 20 ) )   # set the default text size of the graph.
+
 mainPlot <- ggplot( data = dataFrame, aes( x = iterative, y = ms, ymin = ms - std, ymax = ms + std ) )
 xScaleConfig <- scale_x_continuous( breaks = dataFrame$iterative, label = dataFrame$date )
 xLabel <- xlab( "date" )
 yLabel <- ylab( "Responses / sec" )
 fillLabel <- labs( fill="Type" )
-theme <- theme( plot.title=element_text( hjust = 0.5, size = 18, face='bold' ) )
+theme <- theme( plot.title=element_text( hjust = 0.5, size = 28, face='bold' ) )
 
 fundamentalGraphData <- mainPlot + xScaleConfig + xLabel + yLabel + fillLabel + theme
 
diff --git a/TestON/JenkinsFile/SCPF/SCPFflowTp1g.R b/TestON/JenkinsFile/scripts/SCPFflowTp1g.R
similarity index 93%
rename from TestON/JenkinsFile/SCPF/SCPFflowTp1g.R
rename to TestON/JenkinsFile/scripts/SCPFflowTp1g.R
index 8350f38..2116035 100644
--- a/TestON/JenkinsFile/SCPF/SCPFflowTp1g.R
+++ b/TestON/JenkinsFile/scripts/SCPFflowTp1g.R
@@ -71,13 +71,13 @@
     flowObjModifier <- "_fobj"
 }
 if ( args[ 8 ] == 'y' ){
-    commandNeighborModifier <- "NOT "
+    commandNeighborModifier <- "scale=1 OR NOT "
 }
 
 command <- paste( "SELECT scale, avg( avg ), avg( std ) FROM flow_tp", flowObjModifier, sep="" )
-command <- paste( command, "_tests WHERE ", sep="" )
+command <- paste( command, "_tests WHERE (", sep="" )
 command <- paste( command, commandNeighborModifier, sep="" )
-command <- paste( command, "neighbors = 0 AND branch = '", sep="" )
+command <- paste( command, "neighbors = 0 ) AND branch = '", sep="" )
 command <- paste( command, args[ 7 ], sep="" )
 command <- paste( command, "' AND date IN ( SELECT max( date ) FROM flow_tp", sep="" )
 command <- paste( command, flowObjModifier, sep="" )
@@ -109,6 +109,11 @@
 
 colnames( dataFrame ) <- c( "throughput", "type", "scale", "std" )
 
+dataFrame <- na.omit( dataFrame )   # Omit any data that doesn't exist
+
+print( "Data Frame Results:" )
+print( dataFrame )
+
 # **********************************************************
 # STEP 3: Generate graphs.
 # **********************************************************
@@ -133,6 +138,9 @@
 #        - x: x-axis values (usually node scaling)
 #        - y: y-axis values (usually time in milliseconds)
 #        - fill: the category of the colored side-by-side bars (usually type)
+
+theme_set( theme_grey( base_size = 20 ) )   # set the default text size of the graph.
+
 mainPlot <- ggplot( data = dataFrame, aes( x = scale, y = throughput, ymin = throughput - std, ymax = throughput + std, fill = type ) )
 
 # Formatting the plot
@@ -152,7 +160,7 @@
     chartTitle <- paste( chartTitle, "0" )
 }
 
-theme <- theme( plot.title=element_text( hjust = 0.5, size = 18, face='bold' ) )
+theme <- theme( plot.title=element_text( hjust = 0.5, size = 28, face='bold' ) )
 
 # Store plot configurations as 1 variable
 fundamentalGraphData <- mainPlot + xScaleConfig + xLabel + yLabel + fillLabel + theme
diff --git a/TestON/JenkinsFile/SCPF/SCPFhostLat.R b/TestON/JenkinsFile/scripts/SCPFhostLat.R
similarity index 94%
rename from TestON/JenkinsFile/SCPF/SCPFhostLat.R
rename to TestON/JenkinsFile/scripts/SCPFhostLat.R
index 58d0b9b..75e2a45 100644
--- a/TestON/JenkinsFile/SCPF/SCPFhostLat.R
+++ b/TestON/JenkinsFile/scripts/SCPFhostLat.R
@@ -87,6 +87,10 @@
 
 colnames( dataFrame ) <- c( "ms", "type", "scale", "std" )
 
+dataFrame <- na.omit( dataFrame )   # Omit any data that doesn't exist
+
+print( "Data Frame Results:" )
+print( dataFrame )
 
 # **********************************************************
 # STEP 3: Generate graphs.
@@ -94,12 +98,13 @@
 
 print( "Generating fundamental graph data." )
 
+theme_set( theme_grey( base_size = 20 ) )   # set the default text size of the graph.
 mainPlot <- ggplot( data = dataFrame, aes( x = scale, y = ms, ymin = ms - std, ymax = ms + std ) )
 xScaleConfig <- scale_x_continuous( breaks=c( 1, 3, 5, 7, 9) )
 xLabel <- xlab( "Scale" )
 yLabel <- ylab( "Latency (ms)" )
 fillLabel <- labs( fill="Type" )
-theme <- theme( plot.title=element_text( hjust = 0.5, size = 18, face='bold' ) )
+theme <- theme( plot.title=element_text( hjust = 0.5, size = 28, face='bold' ) )
 
 fundamentalGraphData <- mainPlot + xScaleConfig + xLabel + yLabel + fillLabel + theme
 
diff --git a/TestON/JenkinsFile/SCPF/SCPFintentEventTp.R b/TestON/JenkinsFile/scripts/SCPFintentEventTp.R
similarity index 92%
rename from TestON/JenkinsFile/SCPF/SCPFintentEventTp.R
rename to TestON/JenkinsFile/scripts/SCPFintentEventTp.R
index e7818d1..a8d8248 100644
--- a/TestON/JenkinsFile/SCPF/SCPFintentEventTp.R
+++ b/TestON/JenkinsFile/scripts/SCPFintentEventTp.R
@@ -71,13 +71,13 @@
     flowObjModifier <- "_fobj"
 }
 if ( args[ 8 ] == 'y' ){
-    commandNeighborModifier <- "NOT "
+    commandNeighborModifier <- "scale=1 OR NOT "
 }
 
-command <- paste( "SELECT scale, avg( avg ) FROM intent_tp", flowObjModifier, sep="" )
-command <- paste( command, "_tests WHERE ", sep="" )
+command <- paste( "SELECT scale, SUM( avg ) as avg FROM intent_tp", flowObjModifier, sep="" )
+command <- paste( command, "_tests WHERE (", sep="" )
 command <- paste( command, commandNeighborModifier, sep="" )
-command <- paste( command, "neighbors = 0 AND branch = '", sep="")
+command <- paste( command, "neighbors = 0 ) AND branch = '", sep="")
 command <- paste( command, args[ 7 ], sep="" )
 command <- paste( command, "' AND date IN ( SELECT max( date ) FROM intent_tp", sep="" )
 command <- paste( command, flowObjModifier, sep="" )
@@ -107,6 +107,12 @@
 
 colnames( dataFrame ) <- c( "throughput", "type", "scale" )
 
+dataFrame <- na.omit( dataFrame )   # Omit any data that doesn't exist
+
+print( "Data Frame Results:" )
+print( dataFrame )
+
+
 # **********************************************************
 # STEP 3: Generate graphs.
 # **********************************************************
@@ -131,6 +137,8 @@
 #        - x: x-axis values (usually node scaling)
 #        - y: y-axis values (usually time in milliseconds)
 #        - fill: the category of the colored side-by-side bars (usually type)
+theme_set( theme_grey( base_size = 20 ) )   # set the default text size of the graph.
+
 mainPlot <- ggplot( data = dataFrame, aes( x = scale, y = throughput, fill = type ) )
 
 # Formatting the plot
@@ -150,7 +158,7 @@
     chartTitle <- paste( chartTitle, "0" )
 }
 
-theme <- theme( plot.title=element_text( hjust = 0.5, size = 18, face='bold' ) )
+theme <- theme( plot.title=element_text( hjust = 0.5, size = 28, face='bold' ) )
 
 # Store plot configurations as 1 variable
 fundamentalGraphData <- mainPlot + xScaleConfig + xLabel + yLabel + fillLabel + theme
diff --git a/TestON/JenkinsFile/SCPF/SCPFmastershipFailoverLat.R b/TestON/JenkinsFile/scripts/SCPFmastershipFailoverLat.R
similarity index 93%
rename from TestON/JenkinsFile/SCPF/SCPFmastershipFailoverLat.R
rename to TestON/JenkinsFile/scripts/SCPFmastershipFailoverLat.R
index 6ec3098..594a515 100644
--- a/TestON/JenkinsFile/SCPF/SCPFmastershipFailoverLat.R
+++ b/TestON/JenkinsFile/scripts/SCPFmastershipFailoverLat.R
@@ -104,28 +104,27 @@
 stdData <- melt( stds )
 colnames( stdData ) <- c( "ms", "type" )
 
+dataFrame <- na.omit( avgData )   # Omit any data that doesn't exist
+
+print( "Data Frame Results:" )
+print( avgData )
+
 
 # **********************************************************
 # STEP 3: Generate graphs.
 # **********************************************************
 
 print( "Generating fundamental graph data." )
-barBaseLength <- 16
-if (min( c( avgData$ms, stdData$ms ) ) < 0){
-    yMin <- min( c( avgData$ms, stdData$ms ) )
-} else {
-    yMin <- 0
-}
-yMax <- max( c( avgData$ms, stdData$ms, max( avgs$deact_role_avg + avgs$kill_deact_avg ) ) ) * 1.05
+
+theme_set( theme_grey( base_size = 20 ) )   # set the default text size of the graph.
 
 mainPlot <- ggplot( data = avgData, aes( x = scale, y = ms, ymin = ms - stdData$ms, ymax = ms + stdData$ms,fill = type ) )
 xScaleConfig <- scale_x_continuous( breaks=c( 1, 3, 5, 7, 9) )
-#xLimit <- xlim( min( avgData$scale - 1 ), max( avgData$scale + 1 ) )
 yLimit <- ylim( yMin, yMax )
 xLabel <- xlab( "Scale" )
 yLabel <- ylab( "Latency (ms)" )
 fillLabel <- labs( fill="Type" )
-theme <- theme( plot.title=element_text( hjust = 0.5, size = 18, face='bold' ) )
+theme <- theme( plot.title=element_text( hjust = 0.5, size = 28, face='bold' ) )
 
 fundamentalGraphData <- mainPlot + xScaleConfig + yLimit + xLabel + yLabel + fillLabel + theme
 
diff --git a/TestON/JenkinsFile/SCPF/SCPFportLat.R b/TestON/JenkinsFile/scripts/SCPFportLat.R
similarity index 93%
rename from TestON/JenkinsFile/SCPF/SCPFportLat.R
rename to TestON/JenkinsFile/scripts/SCPFportLat.R
index 10af8a9..9eb38a5 100644
--- a/TestON/JenkinsFile/SCPF/SCPFportLat.R
+++ b/TestON/JenkinsFile/scripts/SCPFportLat.R
@@ -98,6 +98,14 @@
 downAvgsData$type <- as.character( downAvgsData$type )
 downAvgsData$type <- factor( downAvgsData$type, levels=unique( downAvgsData$type ) )
 
+upAvgsData <- na.omit( upAvgsData )   # Omit any data that doesn't exist
+downAvgsData <- na.omit( downAvgsData )   # Omit any data that doesn't exist
+
+print( "Up Averages Results:" )
+print( upAvgsData )
+
+print( "Down Averages Results:" )
+print( downAvgsData )
 
 # **********************************************************
 # STEP 3: Generate graphs.
@@ -111,6 +119,8 @@
  } else {
      yMin <- 0
  }
+theme_set( theme_grey( base_size = 20 ) )   # set the default text size of the graph.
+
 yMax <- max( fileData[ 'up_end_to_end_avg' ] + upAvgsData$stds )
 
 mainPlot <- ggplot( data = upAvgsData, aes( x = scale, y = ms, fill = type, ymin = fileData[ 'up_end_to_end_avg' ] - stds, ymax = fileData[ 'up_end_to_end_avg' ] + stds ) )
@@ -119,7 +129,7 @@
 xLabel <- xlab( "Scale" )
 yLabel <- ylab( "Latency (ms)" )
 fillLabel <- labs( fill="Type" )
-theme <- theme( plot.title=element_text( hjust = 0.5, size = 18, face='bold' ) )
+theme <- theme( plot.title=element_text( hjust = 0.5, size = 28, face='bold' ) )
 
 fundamentalGraphData <- mainPlot + yLimit + xScaleConfig + xLabel + yLabel + fillLabel + theme
 
@@ -148,7 +158,7 @@
 
 mainPlot <- ggplot( data = downAvgsData, aes( x = scale, y = ms, fill = type, ymin = fileData[ 'down_end_to_end_avg' ] - stds, ymax = fileData[ 'down_end_to_end_avg' ] + stds ) )
 yLimit <- ylim( yMin, yMax )
-theme <- theme( plot.title=element_text( hjust = 0.5, size = 18, face='bold' ) )
+theme <- theme( plot.title=element_text( hjust = 0.5, size = 28, face='bold' ) )
 
 fundamentalGraphData <- mainPlot + yLimit + xScaleConfig + xLabel + yLabel + fillLabel + theme
 
diff --git a/TestON/JenkinsFile/SCPF/SCPFscaleTopo.R b/TestON/JenkinsFile/scripts/SCPFscaleTopo.R
similarity index 95%
rename from TestON/JenkinsFile/SCPF/SCPFscaleTopo.R
rename to TestON/JenkinsFile/scripts/SCPFscaleTopo.R
index 9956ec8..87f1f57 100644
--- a/TestON/JenkinsFile/SCPF/SCPFscaleTopo.R
+++ b/TestON/JenkinsFile/scripts/SCPFscaleTopo.R
@@ -92,6 +92,11 @@
 # Obtain the sum of the averages for the plot size and center of standard deviation bars.
 avgsSum <- fileData$total_time
 
+dataFrame <- na.omit( dataFrame )   # Omit any data that doesn't exist
+
+print( "Data Frame Results:" )
+print( dataFrame )
+
 # **********************************************************
 # STEP 3: Generate graphs.
 # **********************************************************
@@ -117,6 +122,8 @@
 }
 yWindowMax <- max( avgsSum )
 
+theme_set( theme_grey( base_size = 20 ) )   # set the default text size of the graph.
+
 # Create the primary plot here.
 # ggplot contains the following arguments:
 #     - data: the data frame that the graph will be based off of
@@ -133,8 +140,8 @@
 xLabel <- xlab( "Scale" )
 yLabel <- ylab( "Latency (ms)" )
 fillLabel <- labs( fill="Type" )
-chartTitle <- paste( "Topology Scaling Operation Latency" )
-theme <- theme( plot.title=element_text( hjust = 0.5, size = 18, face='bold' ) )
+chartTitle <- paste( "Scale Topology Latency Test" )
+theme <- theme( plot.title=element_text( hjust = 0.5, size = 28, face='bold' ) )
 
 # Store plot configurations as 1 variable
 fundamentalGraphData <- mainPlot + xScaleConfig + yLimit + xLabel + yLabel + fillLabel + theme
diff --git a/TestON/JenkinsFile/SCPF/SCPFscalingMaxIntents.R b/TestON/JenkinsFile/scripts/SCPFscalingMaxIntents.R
similarity index 94%
rename from TestON/JenkinsFile/SCPF/SCPFscalingMaxIntents.R
rename to TestON/JenkinsFile/scripts/SCPFscalingMaxIntents.R
index 950083d..e5f54e5 100644
--- a/TestON/JenkinsFile/SCPF/SCPFscalingMaxIntents.R
+++ b/TestON/JenkinsFile/scripts/SCPFscalingMaxIntents.R
@@ -104,18 +104,25 @@
 dataFrame$type <- as.character( dataFrame$type )
 dataFrame$type <- factor( dataFrame$type, levels=unique( dataFrame$type ) )
 
+dataFrame <- na.omit( dataFrame )   # Omit any data that doesn't exist
+
+print( "Data Frame Results:" )
+print( dataFrame )
+
 # **********************************************************
 # STEP 3: Generate graphs.
 # **********************************************************
 
 print( "Generating fundamental graph data." )
 
+theme_set( theme_grey( base_size = 20 ) )   # set the default text size of the graph.
+
 mainPlot <- ggplot( data = dataFrame, aes( x = scale, y = ms, fill = type ) )
 xScaleConfig <- scale_x_continuous( breaks=c( 1, 3, 5, 7, 9) )
 xLabel <- xlab( "Scale" )
 yLabel <- ylab( "Max Number of Intents/Flow Rules" )
 fillLabel <- labs( fill="Type" )
-theme <- theme( plot.title=element_text( hjust = 0.5, size = 18, face='bold' ) )
+theme <- theme( plot.title=element_text( hjust = 0.5, size = 28, face='bold' ) )
 
 fundamentalGraphData <- mainPlot + xScaleConfig + xLabel + yLabel + fillLabel + theme
 
diff --git a/TestON/JenkinsFile/SCPF/SCPFswitchLat.R b/TestON/JenkinsFile/scripts/SCPFswitchLat.R
similarity index 93%
rename from TestON/JenkinsFile/SCPF/SCPFswitchLat.R
rename to TestON/JenkinsFile/scripts/SCPFswitchLat.R
index a68b516..9131be9 100644
--- a/TestON/JenkinsFile/SCPF/SCPFswitchLat.R
+++ b/TestON/JenkinsFile/scripts/SCPFswitchLat.R
@@ -93,6 +93,14 @@
 downAvgsData$type <- as.character( downAvgsData$type )
 downAvgsData$type <- factor( downAvgsData$type, levels=unique( downAvgsData$type ) )
 
+upAvgsData <- na.omit( upAvgsData )   # Omit any data that doesn't exist
+downAvgsData <- na.omit( downAvgsData )
+
+print( "Up Averages Results:" )
+print( upAvgsData )
+
+print( "Down Averages Results:" )
+print( downAvgsData )
 
 # **********************************************************
 # STEP 3: Generate graphs.
@@ -108,13 +116,15 @@
  }
 yMax <- max( fileData[ 'up_end_to_end_avg' ] + upAvgsData$stds )
 
+theme_set( theme_grey( base_size = 20 ) )   # set the default text size of the graph.
+
 mainPlot <- ggplot( data = upAvgsData, aes( x = scale, y = ms, fill = type, ymin = fileData[ 'up_end_to_end_avg' ] - stds, ymax = fileData[ 'up_end_to_end_avg' ] + stds ) )
 xScaleConfig <- scale_x_continuous( breaks=c( 1, 3, 5, 7, 9) )
 yLimit <- ylim( yMin, yMax )
 xLabel <- xlab( "Scale" )
 yLabel <- ylab( "Latency (ms)" )
 fillLabel <- labs( fill="Type" )
-theme <- theme( plot.title=element_text( hjust = 0.5, size = 18, face='bold' ) )
+theme <- theme( plot.title=element_text( hjust = 0.5, size = 28, face='bold' ) )
 
 fundamentalGraphData <- mainPlot + yLimit + xScaleConfig + xLabel + yLabel + fillLabel + theme
 
@@ -143,7 +153,7 @@
 
 mainPlot <- ggplot( data = downAvgsData, aes( x = scale, y = ms, fill = type, ymin = fileData[ 'down_end_to_end_avg' ] - stds, ymax = fileData[ 'down_end_to_end_avg' ] + stds ) )
 yLimit <- ylim( yMin, yMax )
-theme <- theme( plot.title=element_text( hjust = 0.5, size = 18, face='bold' ) )
+theme <- theme( plot.title=element_text( hjust = 0.5, size = 28, face='bold' ) )
 
 fundamentalGraphData <- mainPlot + yLimit + xScaleConfig + xLabel + yLabel + fillLabel + theme
 
diff --git a/TestON/JenkinsFile/testCaseGraphGenerator.R b/TestON/JenkinsFile/scripts/testCaseGraphGenerator.R
similarity index 96%
rename from TestON/JenkinsFile/testCaseGraphGenerator.R
rename to TestON/JenkinsFile/scripts/testCaseGraphGenerator.R
index 74138db..2c7e442 100644
--- a/TestON/JenkinsFile/testCaseGraphGenerator.R
+++ b/TestON/JenkinsFile/scripts/testCaseGraphGenerator.R
@@ -101,6 +101,8 @@
 # Adding a temporary reversed iterative list to the dataFrame so that there are no gaps in-between build numbers.
 dataFrame$iterative <- rev( seq( 1, nrow( fileData ), by = 1 ) )
 
+dataFrame <- na.omit( dataFrame )   # Omit any data that doesn't exist
+
 print( "Data Frame Results:" )
 print( dataFrame )
 
@@ -118,6 +120,7 @@
 #        - x: x-axis values (usually iterative, but it will become build # later)
 #        - y: y-axis values (usually tests)
 #        - color: the category of the colored lines (usually status of test)
+theme_set( theme_grey( base_size = 20 ) )   # set the default text size of the graph.
 mainPlot <- ggplot( data = dataFrame, aes( x = iterative, y = Tests, color = Status ) )
 
 print( "Formatting main plot." )
@@ -134,7 +137,7 @@
 fillLabel <- labs( fill="Type" )
 legendLabels <- scale_colour_discrete( labels = c( "Failed", "Passed", "Planned" ) )
 centerTitle <- theme( plot.title=element_text( hjust = 0.5 ) )  # To center the title text
-theme <- theme( plot.title = element_text( size = 18, face='bold' ) )
+theme <- theme( plot.title = element_text( size = 28, face='bold' ) )
 
 # Store plot configurations as 1 variable
 fundamentalGraphData <- mainPlot + plannedColor + passedColor + failedColor + xScaleConfig + yScaleConfig + xLabel + yLabel + fillLabel + legendLabels + centerTitle + theme
