Source code for frb.figures.utils

""" Simple utilities for figures"""

import numpy as np
import matplotlib as mpl


[docs] def log_me(val, err): """ Generate log and error from linear input Args: val (float): err (float): Returns: float, (float/None): Returns none if the err is negative """ if err < 0.: xerr = None else: xerr = np.array([[np.log10(val) - np.log10(val - err)], [-np.log10(val) + np.log10(val + err)]]) return np.log10(val), xerr
[docs] def set_fontsize(ax,fsz): """ Set the fontsize throughout an Axis Args: ax (Matplotlib Axis): fsz (float): Font size Returns: """ for item in ([ax.title, ax.xaxis.label, ax.yaxis.label] + ax.get_xticklabels() + ax.get_yticklabels()): item.set_fontsize(fsz)
[docs] def set_bokeh_fontsize(p, fsz): """ Adjust font size for Bokeh axes Args: p (Bokeh plot class): sz (int): Font size """ p.xaxis.axis_label_text_font_size = '{:d}pt'.format(fsz) p.xaxis.major_label_text_font_size = "{:d}pt".format(fsz) # p.yaxis.axis_label_text_font_size = '{:d}pt'.format(fsz) p.yaxis.major_label_text_font_size = "{:d}pt".format(fsz)
[docs] def set_mplrc(): """ Font fussing for matplotlib Returns: """ mpl.rcParams['mathtext.default'] = 'it' mpl.rcParams['font.size'] = 12 mpl.rc('font',family='Times New Roman') #mpl.rcParams['text.latex.preamble'] = [r'\boldmath'] mpl.rc('text', usetex=True)