10def seismogram( dataset, column_number, labels, keys=None, marker_offset=0, total_marker_count=7, alter_default_settings=0.0):
13 Plot data for the particles over time. As we have a scatter plot,
14 the y-axis data is determined by column_number, i.e. that is the
18 Use None if you don't want a legend.
20 alter_default_settings: Double (0,1)
21 An double from [0,1[ to alter the default settings,
22 i.e. spacing and marker sizer. If you use this operation multiple
23 times in a row, I suggest you use increasing values, i.e. sequences
28 keys = list(dataset.extract_particle_keys())
29 print(
"dataset hosts {} particles".format(len(keys)) )
33 print(
"plot particle {}".format(particle) )
34 x_data, y_data = dataset.get_data(particle,column_number)
39 spacing = max(1,int(len(x_data)/total_marker_count))
40 offset = int( spacing/len(keys)*(keys.index(particle)+alter_default_settings) )
41 mark_every = (offset,spacing)
42 marker_size = 10 + int( 4.0 * 2.0 * (alter_default_settings-0.5) )
44 if len(x_data)!=len(y_data):
45 raise Exception(
"x and y data size do not match")
47 plt.plot( x_data, y_data, marker=Symbols[ symbol_counter%len(Symbols) ], markevery=mark_every, markersize=marker_size )
49 plt.plot( x_data, y_data, marker=Symbols[ symbol_counter%len(Symbols) ], label=labels[symbol_counter], markevery=mark_every, markersize=marker_size )