Source code for laspec.mpl

from matplotlib import rc, rcParams


[docs] def set_xminor(b=True): rcParams["xtick.minor.bottom"] = b ## draw x axis bottom minor ticks rcParams["xtick.minor.top"] = b rcParams["xtick.minor.visible"] = b return
[docs] def set_yminor(b=True): rcParams["ytick.minor.left"] = b ## draw y axis left minor ticks rcParams["ytick.minor.right"] = b ## draw y axis right minor ticks rcParams["ytick.minor.visible"] = b ## visibility of minor ticks on y-axis return
[docs] def set_cham(fontsize=15, xminor=True, yminor=True, latex=True, xtick_top=True, xtick_bottom=True, xtick_major_size=4, xtick_minor_size=2, xtick_major_width=1.2, xtick_direction="in", ytick_left=True, ytick_right=True, ytick_major_size=4, ytick_minor_size=2, ytick_major_width=1.2, ytick_direction="in", ): if latex: rc('text', usetex=True) rcParams["mathtext.fontset"] = "cm" rcParams['text.latex.preamble'] = r"\usepackage{amsmath}" else: rc('text', usetex=False) rcParams["mathtext.fontset"] = "dejavusans" rcParams['text.latex.preamble'] = "" # font size rcParams["font.size"] = fontsize # xticks rcParams["xtick.top"] = xtick_top # draw ticks on the top side rcParams["xtick.bottom"] = xtick_bottom # draw ticks on the bottom side rcParams["xtick.major.size"] = xtick_major_size # major tick size in points rcParams["xtick.minor.size"] = xtick_minor_size # minor tick size in points rcParams["xtick.major.width"] = xtick_major_width # major tick width in points rcParams["xtick.direction"] = xtick_direction # direction: {in, out, inout} # yticks rcParams["ytick.left"] = ytick_left # draw ticks on the left side rcParams["ytick.right"] = ytick_right # draw ticks on the right side rcParams["ytick.major.size"] = ytick_major_size # major tick size in points rcParams["ytick.minor.size"] = ytick_minor_size # minor tick size in points rcParams["ytick.major.width"] = ytick_major_width # major tick width in points rcParams["ytick.direction"] = ytick_direction # direction: {in, out, inout} set_xminor(xminor) set_yminor(yminor) return
# capture cursor position =============== # ref: # https://matplotlib.org/stable/users/event_handling.html # import matplotlib.pylab as plt # import numpy as np # # f,a = plt.subplots() # x = np.linspace(1,10,100) # y = np.sin(x) # a.plot(x,y) # pos = [] # def onclick(event): # pos.append([event.xdata,event.ydata]) # f.canvas.mpl_connect('button_press_event', onclick) # f.show()
[docs] def black_labels(labels, ind_black): # labels = ax.get_xticklabels() for i, label in enumerate(labels): if i in ind_black: label.set_color("white") label.set_weight(600) label.set_bbox( dict( boxstyle="round,pad=.25", linewidth=0.5, facecolor="black", edgecolor="black", ) ) return
if __name__ == "__main__": set_cham() set_xminor() set_yminor()