1 from animation_run_imports
import *
9 "phase_plot_at_threshold" + phase_part, \
10 use_shared_names =
False \
20 "/friction_phase/" + phase_part, \
21 use_shared_names =
False \
30 parameters = loader.load_yaml_parameters(run_name)
31 phase_data = loader.load_simulation_output(\
35 use_shared_names = use_shared_names \
43 yaml = loader.loadYaml(run_name, file_name)
56 if(y_min == y_max == 0):
58 'min': np.min(y_data), \
59 'max': np.max(y_data)\
66 x_lim = {
'min': common_indexes[0],
'max': common_indexes[1] - 1}
69 for i, y_values
in enumerate(y_data):
70 if(len(x_values) == 0):
71 x_values = np.arange(len(y_values))
75 x_indexes = common_indexes, \
76 y_indexes = common_indexes, \
77 ax_number = ax_number, \
80 line_list.append(single_line)
86 single_line_list = line_list, \
102 'min': np.min(y_data), \
103 'max': np.max(y_data)\
106 'min': np.min(x_data), \
107 'max': np.max(x_data)\
111 for i, (y_values, x_values)
in enumerate(zip(y_data, x_data)):
115 x_indexes = common_indexes, \
116 y_indexes = common_indexes, \
117 ax_number = ax_number, \
120 line_list.append(single_line)
126 single_line_list = line_list, \
140 n_bar_values = len(single_plot.single_line_list)
141 bar_values = np.array([single_plot.get_last_plotted_y_value(i)
for i
in range(0, n_bar_values)])
142 bar_position = np.array(np.arange(0, n_bar_values))
143 bar_lim = {
'min': -0.5,
'max': n_bar_values - 0.5}
144 y_lim = single_plot.y_lim
145 if(y_lim[
'min'] > 0.0):
147 elif(y_lim[
'max'] < 0.0):
149 line_dependencies = {
'ax_numbers': [single_plot.ax_number],
'line_numbers': [bar_position]}
150 bar_line =
SingleLine(bar_position, bar_values, x_indexes=bar_position, y_indexes=bar_position, ax_number = ax_number, line_number = line_number, line_dependencies=line_dependencies)
153 single_line_list = [bar_line],
168 height_of_plot = 0.1,
173 n_spring_values = len(single_plot.single_line_list)
174 spring_values = np.array([single_plot.get_last_plotted_y_value(i)
for i
in range(0, n_spring_values)])
175 spring_positions = np.array(np.arange(0, n_spring_values))
176 spring_lim = {
'min': -height_of_plot/2,
'max': height_of_plot}
177 line_dependencies = {
'ax_numbers': [single_plot.ax_number],
'line_numbers': [spring_positions]}
178 spring_indexes = [spring_positions[0], spring_positions[-1]]
180 spring_line =
SingleLine(x_values = spring_values, \
181 y_values = np.array([0.0]*n_spring_values), \
182 starting_position = {
"x":spring_positions,
"y": 0.0}, \
183 x_indexes=spring_indexes, \
184 y_indexes=spring_indexes, \
185 ax_number = ax_number, \
186 line_number = line_number, \
187 line_dependencies=line_dependencies,
192 line_list = [spring_line]
194 if(len(pad_position) > 0
and len(common_indexes) > 0
and show_pad):
195 pad_line =
SingleLine(x_values = np.array([pad_position[common_indexes[-1]]]*2), \
196 y_values = np.array([height_of_plot/2]*2), \
197 starting_position = {
"x":np.array(spring_positions[[0,-1]]),
"y": 0.0}, \
198 x_indexes = np.array([0, 1]), \
199 y_indexes = np.array([0, 1]), \
200 ax_number = ax_number, \
201 line_number = line_number + 1, \
202 line_dependencies= {
'ax_numbers': [ax_number],
'line_numbers': [np.array([line_number + 2]*2)]}, \
205 pad_values =
SingleLine(x_values = np.array(pad_position), \
206 y_values = np.array([height_of_plot/2]),
207 x_indexes = [common_indexes[-1]]*2,
209 ax_number = ax_number,
210 line_number = line_number + 2,
214 line_list += [pad_line, pad_values]
218 for i, (spring_value, spring_position)
in enumerate(zip(spring_values, spring_positions)):
219 x_values = np.array([spring_position + spring_value, spring_position])
220 y_values = np.array([0, height_of_plot/2])
221 common_indexes = np.array([0,1])
225 x_indexes = common_indexes, \
226 y_indexes = common_indexes, \
227 ax_number = ax_number, \
228 line_number = i + line_shifter,
230 line_list.append(single_line)
233 single_line_list = line_list, \
234 x_lim={
'min': -3.0 + spring_positions[0], \
235 'max': 3.0 + spring_positions[-1]}, \
237 plot_type =
'spring',
250 for i
in range(0, int(len(phase_data)/2)):
251 pos_data.append(phase_data[2*i])
252 vel_data.append(phase_data[2*i + 1])
254 return (pos_data, vel_data)
258 shift_amount_per_frame,
262 only_shift_first = False
264 for line_number
in range(0, n_line_number):
265 if(index_type ==
'y'):
266 bk_animation.shift_y_indexes(ax_number, line_number, shift_amount_per_frame, only_shift_first = only_shift_first)
267 if(only_shift_first):
268 bk_animation.shift_x_indexes(ax_number, line_number, shift_amount_per_frame, only_shift_first = only_shift_first)
269 elif(index_type ==
'xy'):
270 bk_animation.shift_xy_indexes(ax_number, line_number, shift_amount_per_frame, only_shift_first = only_shift_first)
271 elif(index_type ==
'x'):
272 bk_animation.shift_x_indexes(ax_number, line_number, shift_amount_per_frame, only_shift_first = only_shift_first)
274 print(
"unknown access type")
def make_single_line_spring_plot(single_plot, ax_number, line_number, pad_position=[], common_indexes=[], height_of_plot=0.1, x_label="", y_label="", show_pad=False)
def make_single_line_bar_plot(single_plot, ax_number, line_number, x_label="", y_label="")
def load_phase_data(run_name, phase_part="")
def loadYaml(run_name, file_name)
def seperate_pos_vel_data(phase_data)
def make_single_line_phase_plot(y_data, x_data, common_indexes, ax_number, x_label="", y_label="")
def lazy_load_data(run_name, file_name, use_shared_names)
def make_single_line_line_plot(y_data, common_indexes, ax_number, x_values=[], y_min=0, y_max=0, x_label="", y_label="")
def load_friction_phase_data(run_name, phase_part="")
def shift_z_indexes_of_lines_in_ax(bk_animation, shift_amount_per_frame, ax_number, n_line_number, index_type, only_shift_first=False)