mcx = 2.0**1.5 * cos(mwcenter[1]) * sin(mwcenter[0] / 2.0) / sqrt(1.0 + cos(mwcenter[1]) * cos(mwcenter[0] / 2.0)) mcy = sqrt(2.0) * sin(mwcenter[1]) / sqrt(1.0 + cos(mwcenter[1]) * cos(mwcenter[0] / 2.0)) acx = 2.0**1.5 * cos(anticenter[1]) * sin(anticenter[0] / 2.0) / sqrt(1.0 + cos(anticenter[1]) * cos(anticenter[0] / 2.0)) acy = sqrt(2.0) * sin(anticenter[1]) / sqrt(1.0 + cos(anticenter[1]) * cos(anticenter[0] / 2.0)) m31x = 2.0**1.5 * cos(m31center[1]) * sin(m31center[0] / 2.0) / sqrt(1.0 + cos(m31center[1]) * cos(m31center[0] / 2.0)) m31y = sqrt(2.0) * sin(m31center[1]) / sqrt(1.0 + cos(m31center[1]) * cos(m31center[0] / 2.0)) lmcx = 2.0**1.5 * cos(lmccenter[1]) * sin(lmccenter[0] / 2.0) / sqrt(1.0 + cos(lmccenter[1]) * cos(lmccenter[0] / 2.0)) lmcy = sqrt(2.0) * sin(lmccenter[1]) / sqrt(1.0 + cos(lmccenter[1]) * cos(lmccenter[0] / 2.0)) p1.line(mwxs, mwys, color='#555555', line_width=2) p1.circle(mcx, mcy, color='#555555', size=10) p1.x(acx, acy, color='#555555', size=10, line_width=4) p1.circle(m31x, m31y, color='#999999', size=20, alpha=0.5) p1.circle(lmcx, lmcy, color='#999999', size=20, alpha=0.5) label_size = '20pt' label = Label(x=m31x, y=m31y + 0.06, text='M31', text_color='#999999', text_align='center', text_font_size=label_size) p1.add_layout(label) label = Label(x=mcx + 0.06, y=mcy - 0.20, text='MW center', text_color='#555555', text_font_size=label_size) p1.add_layout(label) label = Label(x=acx - 0.06, y=acy, text='MW anticenter', text_color='#555555', text_font_size=label_size, text_align='right') p1.add_layout(label) label = Label(x=lmcx, y=lmcy + 0.06, text='LMC', text_color='#999999', text_align='center', text_font_size=label_size) p1.add_layout(label) if moduletype == 'spectraltype': claimedtypes = [[x, i] for i, x in enumerate(spectral_ordering) if x in evtypes] + [[untype, len(colors) - 1]] colors = [colors[ct[1]] for ct in claimedtypes]