INNER CODE UNIT · Python
get_figure
sirius-ms/sirius · affinity_selection_ms/src/main/resources/makeMirrorSpectrumPlot.py:50
def get_figure(msrd_spectrum, pred_spectrum, show_legend):
# 1. Create all trace instances:
# 1.1 A Scatter instance for the predicted spectrum:
trace_instances = [go.Scatter(x=pred_spectrum['mz'], y=-np.array(pred_spectrum['intensity']),
error_y=dict(type='data', array=pred_spectrum['intensity'],
arrayminus=[0] * len(pred_spectrum['intensity']), width=0),
customdata=pred_spectrum['atom_indices'], name='predicted spectrum', mode='markers',
marker=dict(color='blue', opacity=0), showlegend=show_legend)]
# 1.2 4 Scatter instances for the measured spectrum:
for group, color in color_dict.items():
trace_instances.append(go.Scatter(x=msrd_spectrum[group]['mz'], y=msrd_spectrum[group]['intensity'],
error_y=dict(type='data', arrayminus=msrd_spectrum[group]['intensity'],
array=[0] * len(msrd_spectrum[group]['intensity']), width=0),
customdata=msrd_spectrum[group]['atom_indices'] if 'atom_indices' in msrd_spectrum[group].keys() else [None] * len(msrd_spectrum[group]['mz']),
name=f'measured spectrum [{group}]', mode='markers',
marker=dict(color=color, opacity=0), showlegend=show_legend))