Enable generation of all graphs

This commit is contained in:
Cal W
2023-04-02 22:56:28 +10:00
parent 7e57662d7c
commit 53e13766ec

38
main.py
View File

@@ -39,6 +39,7 @@ if __name__ == "__main__":
if not os.path.isdir("./images/calibration"): os.mkdir("./images/calibration") if not os.path.isdir("./images/calibration"): os.mkdir("./images/calibration")
# Actual Data # Actual Data
print("Generating Actual Data Graphs...")
pbar = tqdm(total=100) pbar = tqdm(total=100)
for i in [0,1]: for i in [0,1]:
graphData = { graphData = {
@@ -46,6 +47,7 @@ if __name__ == "__main__":
"figTitleFontSize": 16, "figTitleFontSize": 16,
"figSize": (8,8), #Yay America, this is in inches :/ # Note: cm = 1/2.54 "figSize": (8,8), #Yay America, this is in inches :/ # Note: cm = 1/2.54
"plotDim": (2,2), "plotDim": (2,2),
"grid": True,
"subPlots":[] "subPlots":[]
} }
@@ -74,15 +76,17 @@ if __name__ == "__main__":
pbar.close() pbar.close()
#fig, _ = makeGraph(graphData, showPlot=False) fig, _ = makeGraph(graphData, showPlot=False)
#fig.savefig(f"./images/actualData_Runs_{i+1}-_{i+4}.png") fig.savefig(f"./images/actualData_Runs_{i+1}-_{i+4}.png")
# Initial test Data # Initial test Data
print("Initial Data Graph...")
data1, data2 = makeActualDataGraph(8) data1, data2 = makeActualDataGraph(8)
graphData = { graphData = {
"title": f"Initial Test Data\n\"Run 0\"", "title": f"Initial Test Data\n\"Run 0\"",
"xLabel": "Time (ms) - Δt = 10ms", "xLabel": "Time (ms) - Δt = 10ms",
"yLabel": "Strain (ε)", "yLabel": "Strain (ε)",
"grid": True,
"plots":[ "plots":[
{"type":"scatter", "x": data1["Time"], "y": data1["Strain"], "args":{"s":10, "zorder":2}, "label":"Upper", "colour": UQC["purple"]}, {"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":"scatter", "x": data2["Time"], "y": data2["Strain"], "args":{"s":10, "zorder":1}, "label":"Lower", "colour": UQC["dark_grey"]},
@@ -90,30 +94,33 @@ if __name__ == "__main__":
{"type":"plot", "x": data2["Time"], "y": data2["Strain"], "args":{"zorder":0, "alpha":0.25}, "colour": UQC["dark_grey"]}, {"type":"plot", "x": data2["Time"], "y": data2["Strain"], "args":{"zorder":0, "alpha":0.25}, "colour": UQC["dark_grey"]},
] ]
} }
#fig, _ = makeGraph(graphData) fig, _ = makeGraph(graphData, showPlot=False)
#fig.savefig("./images/initTestData.png") fig.savefig("./images/initTestData.png")
#Force vs Pressure Graph #Force vs Pressure Graph
print("Generating Force vs Pressure Graph...")
cols = [f"Unnamed: 24", f"Unnamed: 25"] cols = [f"Unnamed: 24", f"Unnamed: 25"]
data = actualGraphData[cols].rename(columns = {cols[0]:'Force (Thrust)', cols[1]:'Pressure'}) data = actualGraphData[cols].rename(columns = {cols[0]:'Force', cols[1]:'Pressure'})
data = data[1:10].astype({"Force":"float", "Pressure":"float"}) data = data[1:10].astype({"Force":"float", "Pressure":"float"})
avgStrainGraphData = { avgStrainGraphData = {
"title": f"Force vs Absolute Pressure", "title": f"Force (Thrust) vs Absolute Pressure",
"xLabel": "Absolute Pressure (kPa)", "xLabel": "Absolute Pressure (kPa)",
"yLabel": "Thrust (N)", "yLabel": "Thrust (N)",
"grid": True,
"plots":[ "plots":[
{"type":"scatter", "x": data["Pressure"], "y": data["Force"], "args":{"s":10, "zorder":2}, "label":"Average Strain", "colour": UQC["purple"]}, {"type":"scatter", "x": data["Pressure"], "y": data["Force"], "args":{"s":10, "zorder":2}, "label":"Average Strain", "colour": UQC["purple"]},
{"type":"plot", "x": data["Pressure"], "y": data["Force"], "args":{"zorder":0, "alpha":0.25}, "colour": UQC["purple"]}, {"type":"plot", "x": data["Pressure"], "y": data["Force"], "args":{"zorder":0, "alpha":0.25}, "colour": UQC["purple"]},
] ]
} }
fig, _ = makeGraph(avgStrainGraphData) fig, _ = makeGraph(avgStrainGraphData, showPlot=False)
fig.savefig("./images/ForceVsAbsPressure.png") fig.savefig("./images/ForceVsAbsPressure.png")
# Calibration Data # Calibration Data
# Average Data # Average Data
print("Generating Average Strain Graph...")
cols = [f"force stuff", f"Unnamed: 25"] cols = [f"force stuff", f"Unnamed: 25"]
data = calibrationGraphData[cols].rename(columns = {cols[0]:'Strain', cols[1]:'Force'}) data = calibrationGraphData[cols].rename(columns = {cols[0]:'Strain', cols[1]:'Force'})
data = data[2:8].astype({"Strain":"float", "Force":"float"}) data = data[2:8].astype({"Strain":"float", "Force":"float"})
@@ -121,16 +128,18 @@ if __name__ == "__main__":
"title": f"Force vs Average Strain", "title": f"Force vs Average Strain",
"xLabel": "Average Strain (με)", "xLabel": "Average Strain (με)",
"yLabel": "Force (N)", "yLabel": "Force (N)",
"grid": True,
"plots":[ "plots":[
{"type":"scatter", "x": data["Strain"], "y": data["Force"], "args":{"s":10, "zorder":2}, "label":"Average Strain", "colour": UQC["purple"]}, {"type":"scatter", "x": data["Strain"], "y": data["Force"], "args":{"s":10, "zorder":2}, "label":"Average Strain", "colour": UQC["purple"]},
{"type":"plot", "label": "Approximation: y(x) = 0.196722x", "x": data["Strain"], "y": data["Strain"]*0.196722, "args":{"zorder":0, "alpha":0.5}, "colour": UQC["dark_grey"]} {"type":"plot", "label": "Approximation: y(x) = 0.196722x", "x": data["Strain"], "y": data["Strain"]*0.196722, "args":{"zorder":0, "alpha":0.5}, "colour": UQC["dark_grey"]}
] ]
} }
#fig, _ = makeGraph(avgStrainGraphData) fig, _ = makeGraph(avgStrainGraphData, showPlot=False)
#fig.savefig("./images/AverageCaliStrain.png") fig.savefig("./images/AverageCaliStrain.png")
# Actual Data # Calibration Date
print("Generating Calibration Data Graphs...")
pbar = tqdm(total=100) pbar = tqdm(total=100)
for i in [0,1]: for i in [0,1]:
graphData = { graphData = {
@@ -147,6 +156,7 @@ if __name__ == "__main__":
"title": f"Run {ii+1} - {(ii+1)*50}g", "title": f"Run {ii+1} - {(ii+1)*50}g",
"xLabel": "Time (ms) - Δt = 10ms", "xLabel": "Time (ms) - Δt = 10ms",
"yLabel": "Strain (ε)", "yLabel": "Strain (ε)",
"grid": True,
"plots": [ "plots": [
{"type":"scatter", "x": data["Time"], "y": data["Strain"], "args":{"s":10, "zorder":2}, "colour": UQC["light_purple"]} {"type":"scatter", "x": data["Time"], "y": data["Strain"], "args":{"s":10, "zorder":2}, "colour": UQC["light_purple"]}
] ]
@@ -160,9 +170,11 @@ if __name__ == "__main__":
pbar.update(100/7) pbar.update(100/7)
if bool(i): graphData["subPlots"].append(avgStrainGraphData) if bool(i): graphData["subPlots"].append(avgStrainGraphData)
#fig, _ = makeGraph(graphData, showPlot=False) fig, _ = makeGraph(graphData, showPlot=False)
#fig.savefig(f"./images/calibData_Runs_{i+1}-_{i+(4 if i != 0 else 3)}.png") fig.savefig(f"./images/calibData_Runs_{i+1}-_{i+(4 if i != 0 else 3)}.png")
pbar.close() pbar.close()
plt.show() plt.show(block=False)
input("Press enter to close all graphs...")
plt.close()