Generate Block Graphs

This commit is contained in:
Cal W
2023-04-02 20:36:56 +10:00
parent f82c1a024b
commit e6bfabe80a

51
main.py
View File

@@ -1,8 +1,9 @@
# ENGG4900 Graph Generators
# Cal Wing 2023
import numpy as np
import os
import pandas as pd
import matplotlib.pyplot as plt
from makeGraph import makeGraph, UQ_COLOURS as UQC
DATA_FILE_PATH = ".\\data\\AERO4450-Group-10-Data-Analysis-v2.xls"
@@ -10,9 +11,7 @@ actualData = pd.read_excel(DATA_FILE_PATH, sheet_name="Actual Data")
calibrationData = pd.read_excel(DATA_FILE_PATH, sheet_name="Calibration Data Graphs")
def main():
testRun = 0
def makeActualDataGraph(testRun):
cols = [f"Unnamed: {3 + testRun*5}", f"Unnamed: {4+ testRun*5}"]
data = actualData[cols].rename(columns = {cols[0]:'Time', cols[1]:'Strain'})
@@ -20,6 +19,7 @@ def main():
data1 = data[0::2]
data2 = data[1::2]
return data1, data2
makeGraph({
"title": f"Strain over Time\nRun: {testRun+1}",
@@ -28,12 +28,49 @@ def main():
"plots":[
{"type":"scatter", "x": data1["Time"], "y": data1["Strain"], "args":{"s":10, "zorder":2}, "label":"Upper", "colour": UQC["purple"]},
{"type":"scatter", "x": data2["Time"], "y": data2["Strain"], "args":{"s":10, "zorder":1}, "label":"Lower", "colour": UQC["dark_grey"]},
{"type":"plot", "x": data1["Time"], "y": data1["Strain"], "args":{"zorder":0, "alpha":0.25}, "label":"Upper", "colour": UQC["purple"]},
{"type":"plot", "x": data2["Time"], "y": data2["Strain"], "args":{"zorder":0, "alpha":0.25}, "label":"Lower", "colour": UQC["dark_grey"]},
{"type":"plot", "x": data1["Time"], "y": data1["Strain"], "args":{"zorder":0, "alpha":0.25}, "colour": UQC["purple"]},
{"type":"plot", "x": data2["Time"], "y": data2["Strain"], "args":{"zorder":0, "alpha":0.25}, "colour": UQC["dark_grey"]},
]
})
if __name__ == "__main__":
main()
if not os.path.isdir("./images"):
os.mkdir("./images")
# Actual Data
for i in [0,1]:
graphData = {
"figTitle": f"Strain over Time (Runs {i+1} to {i+4})",
"figTitleFontSize": 16,
"figSize": (8,8), #Yay America, this is in inches :/ # Note: cm = 1/2.54
"xLabel": "x label",
"yLabel": "y label",
"plotDim": (2,2),
"subPlots":[]
}
for ii in range(i*4, 4 + i*4):
data1, data2 = makeActualDataGraph(ii)
newPlot = {
"title": f"Run: {ii+1}",
"xLabel": "Time (ms) - Δt = 10ms",
"yLabel": "Strain (ε)",
"plots":[
{"type":"scatter", "x": data1["Time"], "y": data1["Strain"], "args":{"s":10, "zorder":2}, "label":"Upper", "colour": UQC["purple"]},
{"type":"scatter", "x": data2["Time"], "y": data2["Strain"], "args":{"s":10, "zorder":1}, "label":"Lower", "colour": UQC["dark_grey"]},
{"type":"plot", "x": data1["Time"], "y": data1["Strain"], "args":{"zorder":0, "alpha":0.25}, "colour": UQC["purple"]},
{"type":"plot", "x": data2["Time"], "y": data2["Strain"], "args":{"zorder":0, "alpha":0.25}, "colour": UQC["dark_grey"]},
]
}
graphData["subPlots"].append(newPlot)
fig, _ = makeGraph(graphData, showPlot=False)
fig.savefig(f"./images/actualData_Runs_{i+1}-_{i+4}")
# Calibration Data
plt.show()