change axis x to time

This commit is contained in:
2024-07-18 17:45:40 +08:00
parent e1866758b7
commit 370fa051ae
4 changed files with 46 additions and 34 deletions

View File

@ -27,22 +27,22 @@ customtkinter.set_window_scaling(1.1) # window geometry dimensions
setdefaulttimeout(3) setdefaulttimeout(3)
# global vars # global vars
durable_data_current = { durable_data_current = {
'time': list(range(1, 26)), 'time': list(range(1, 19)),
'axis1': [0 for _ in range(25)], 'axis1': [0 for _ in range(18)],
'axis2': [0 for _ in range(25)], 'axis2': [0 for _ in range(18)],
'axis3': [0 for _ in range(25)], 'axis3': [0 for _ in range(18)],
'axis4': [0 for _ in range(25)], 'axis4': [0 for _ in range(18)],
'axis5': [0 for _ in range(25)], 'axis5': [0 for _ in range(18)],
'axis6': [0 for _ in range(25)], 'axis6': [0 for _ in range(18)],
} }
durable_data_current_max = { durable_data_current_max = {
'time': list(range(1, 26)), 'time': list(range(1, 19)),
'axis1': [0 for _ in range(25)], 'axis1': [0 for _ in range(18)],
'axis2': [0 for _ in range(25)], 'axis2': [0 for _ in range(18)],
'axis3': [0 for _ in range(25)], 'axis3': [0 for _ in range(18)],
'axis4': [0 for _ in range(25)], 'axis4': [0 for _ in range(18)],
'axis5': [0 for _ in range(25)], 'axis5': [0 for _ in range(18)],
'axis6': [0 for _ in range(25)], 'axis6': [0 for _ in range(18)],
} }
btns_func = { btns_func = {
'start': {'btn': '', 'row': 1, 'text': '开始运行'}, 'start': {'btn': '', 'row': 1, 'text': '开始运行'},
@ -242,14 +242,20 @@ class App(customtkinter.CTk):
self.df_copy = df.copy() self.df_copy = df.copy()
self.old_curve = widgits_da['curvesel']['optionmenu'].get() self.old_curve = widgits_da['curvesel']['optionmenu'].get()
figure = plt.figure(frameon=True, facecolor='#E9E9E9') figure = plt.figure(frameon=True, facecolor='#E9E9E9')
plt.subplots_adjust(left=0.04, right=0.98, bottom=0.05, top=0.95) plt.subplots_adjust(left=0.04, right=0.98, bottom=0.1, top=0.95)
_ = df['time'].to_list()
_xticks = [str(_i) for _i in _]
ax = figure.add_subplot(1, 1, 1) ax = figure.add_subplot(1, 1, 1)
ax.set_xticks(range(1, len(_xticks)+1))
ax.set_xticklabels(_xticks)
df.plot(grid=True, x='time', y='axis1', ax=ax) df.plot(grid=True, x='time', y='axis1', ax=ax)
df.plot(grid=True, x='time', y='axis2', ax=ax) df.plot(grid=True, x='time', y='axis2', ax=ax)
df.plot(grid=True, x='time', y='axis3', ax=ax) df.plot(grid=True, x='time', y='axis3', ax=ax)
df.plot(grid=True, x='time', y='axis4', ax=ax) df.plot(grid=True, x='time', y='axis4', ax=ax)
df.plot(grid=True, x='time', y='axis5', ax=ax) df.plot(grid=True, x='time', y='axis5', ax=ax)
df.plot(grid=True, x='time', y='axis6', ax=ax, title=_title, legend='upper left') df.plot(grid=True, x='time', y='axis6', ax=ax, title=_title, legend='upper left', rot=30)
self.create_canvas(figure) self.create_canvas(figure)

View File

@ -28,22 +28,22 @@ display_pdo_params = [
{"name": "device_servo_trq_feedback", "channel": 5}, {"name": "device_servo_trq_feedback", "channel": 5},
] ]
durable_data_current = { durable_data_current = {
'time': list(range(1, 26)), 'time': list(range(1, 19)),
'axis1': [0 for _ in range(25)], 'axis1': [0 for _ in range(18)],
'axis2': [0 for _ in range(25)], 'axis2': [0 for _ in range(18)],
'axis3': [0 for _ in range(25)], 'axis3': [0 for _ in range(18)],
'axis4': [0 for _ in range(25)], 'axis4': [0 for _ in range(18)],
'axis5': [0 for _ in range(25)], 'axis5': [0 for _ in range(18)],
'axis6': [0 for _ in range(25)], 'axis6': [0 for _ in range(18)],
} }
durable_data_current_max = { durable_data_current_max = {
'time': list(range(1, 26)), 'time': list(range(1, 19)),
'axis1': [0 for _ in range(25)], 'axis1': [0 for _ in range(18)],
'axis2': [0 for _ in range(25)], 'axis2': [0 for _ in range(18)],
'axis3': [0 for _ in range(25)], 'axis3': [0 for _ in range(18)],
'axis4': [0 for _ in range(25)], 'axis4': [0 for _ in range(18)],
'axis5': [0 for _ in range(25)], 'axis5': [0 for _ in range(18)],
'axis6': [0 for _ in range(25)], 'axis6': [0 for _ in range(18)],
} }
data_all = [durable_data_current, durable_data_current_max] data_all = [durable_data_current, durable_data_current_max]
@ -228,6 +228,7 @@ def get_durable_data(path, data, scenario_time, wait_time, rcs, hr, w2t):
this_time = strftime("%Y-%m-%d %H:%M:%S", localtime(time())) this_time = strftime("%Y-%m-%d %H:%M:%S", localtime(time()))
next_time = strftime("%Y-%m-%d %H:%M:%S", localtime(time()+wait_time+10+scenario_time)).split()[-1] next_time = strftime("%Y-%m-%d %H:%M:%S", localtime(time()+wait_time+10+scenario_time)).split()[-1]
_df = DataFrame(_d2d_trq) _df = DataFrame(_d2d_trq)
_flg = 0
for i in range(6): for i in range(6):
try: try:
_ = sqrt(_df[i].apply(lambda x: power((rcs[i]*x/1000), 2)).sum()/len(_df[i])) _ = sqrt(_df[i].apply(lambda x: power((rcs[i]*x/1000), 2)).sum()/len(_df[i]))
@ -236,13 +237,18 @@ def get_durable_data(path, data, scenario_time, wait_time, rcs, hr, w2t):
w2t(f"{i}calculate error", 0, 11, 'red', tab_name) w2t(f"{i}calculate error", 0, 11, 'red', tab_name)
del data[0][f"axis{i + 1}"][0] del data[0][f"axis{i + 1}"][0]
data[0][f"axis{i + 1}"].append(_) data[0][f"axis{i + 1}"].append(_)
del data[0]['time'][0]
data[0]['time'].append(next_time)
_ = rcs[i] * _df[i].abs().max() / 1000 _ = rcs[i] * _df[i].abs().max() / 1000
del data[1][f"axis{i + 1}"][0] del data[1][f"axis{i + 1}"][0]
data[1][f"axis{i + 1}"].append(_) data[1][f"axis{i + 1}"].append(_)
del data[1]['time'][0]
data[1]['time'].append(this_time.split()[-1]) if not _flg:
del data[0]['time'][0]
data[0]['time'].append(this_time.split()[-1])
del data[1]['time'][0]
data[1]['time'].append(this_time.split()[-1])
_flg = 1
_df_1 = DataFrame(data[0]) _df_1 = DataFrame(data[0])
_df_2 = DataFrame(data[1]) _df_2 = DataFrame(data[1])