def add_descriptions( self, ax: plt.axis, experiment: Union[str, None] = 'Belle II', luminosity: Union[str, int, float, None] = '', additional_info: Union[str, None] = None, small_title: Union[bool, None] = False, preliminary: Union[bool, None] = True, title_indent: Union[int, None] = 0, exp_nr: Union[int, None] = None, proc_nr: Union[int, None] = None, buck_nr: Union[int, None] = None, ): # generate luminosity text if type(luminosity) == int or type(luminosity) == float: luminosity = r"$\int \mathcal{L} \,\mathrm{d}t=" + "{:.0f}".format( np.round(luminosity, 0)) + "\,\mathrm{pb}^{-1}$" # add some additional dataset meta data if exp_nr: luminosity += f"\nExp. {exp_nr}" if proc_nr: luminosity += f", Proc {proc_nr}" if buck_nr: luminosity += f", Buck. {buck_nr}" if small_title: ax.set_title('{}'.format(' ' * title_indent) + experiment + '\n{}'.format(' ' * title_indent) + '{}'.format('(Preliminary)' if preliminary else ''), loc="left", fontdict={ 'style': 'normal', 'weight': 'bold' }) ax.set_title(luminosity, loc="right") else: ax.set_title('{}'.format(' ' * title_indent) + experiment, loc="left", fontdict={ 'size': 16, 'style': 'normal', 'weight': 'bold' }) ax.set_title('{}'.format('(Preliminary) ' if preliminary else '') + luminosity, loc="right") ax.annotate(additional_info, (0.02, 0.98), xytext=(4, -4), xycoords='axes fraction', textcoords='offset points', fontweight='bold', ha='left', va='top')
def plot_probe_electrodes( rsites: pd.DataFrame, ax: plt.axis, TARGETS: list = [], annotate_every: Union[int, bool] = 5, x_shift: bool = True, s: int = 25, lw: float = 0.25, x_pos_delta: float = 0, ): x = np.ones(len(rsites)) * 1.025 + x_pos_delta if x_shift: x[::2] = 1.025 + x_pos_delta - 0.05 x[2::4] = 1.025 + x_pos_delta - 0.025 x[1::4] = 1.025 + x_pos_delta + 0.025 else: x = (x_pos_delta + np.tile([0.975, 1.025, 1.0, 1.05], np.int(np.ceil( len(rsites) / 4)))[:len(rsites)]) if TARGETS is not None: colors = [ rs.color if rs.brain_region in TARGETS else ([0.3, 0.3, 0.3] if rs.brain_region in ("unknown", "OUT") else blue_grey) for i, rs in rsites.iterrows() ] else: colors = [rs.color for i, rs in rsites.iterrows()] ax.scatter( x, rsites.probe_coordinates, s=s, lw=lw, ec=[0.3, 0.3, 0.3], marker="s", c=colors, ) if annotate_every: for i in np.arange(len(x))[::annotate_every]: ax.annotate( f"{rsites.site_id.iloc[i]} - {rsites.brain_region.iloc[i]}", (0.6, rsites.probe_coordinates.iloc[i]), color=colors[i], ) ax.set(xlim=[0.5, 1.25], ylabel="probe coordinates (um)")
def add_descriptions_to_plot( ax: plt.axis, experiment: Union[str, None] = None, luminosity: Union[str, None] = None, additional_info: Union[str, None] = None, ): ax.set_title(experiment, loc="left", fontdict={ 'size': 16, 'style': 'normal', 'weight': 'bold' }) ax.set_title(luminosity, loc="right") ax.annotate(additional_info, (0.02, 0.98), xytext=(4, -4), xycoords='axes fraction', textcoords='offset points', fontweight='bold', ha='left', va='top')