--- a
+++ b/src/scpanel/settings.py
@@ -0,0 +1,61 @@
+from cycler import cycler
+from matplotlib import rcParams
+
+from . import palettes
+
+
+def set_rcParams(fontsize=14, color_map=None):
+    """Set default matplotlib.rcParams"""
+
+    # figure
+    rcParams["figure.figsize"] = (4, 4)
+    rcParams["figure.dpi"] = 300
+    rcParams["figure.subplot.left"] = 0.18
+    rcParams["figure.subplot.right"] = 0.96
+    rcParams["figure.subplot.bottom"] = 0.15
+    rcParams["figure.subplot.top"] = 0.91
+
+    rcParams["lines.linewidth"] = 1.5  # the line width of the frame
+    rcParams["lines.markersize"] = 6
+    rcParams["lines.markeredgewidth"] = 1
+
+    # font
+    rcParams["font.sans-serif"] = [
+        "Arial",
+        "Helvetica",
+        "DejaVu Sans",
+        "Bitstream Vera Sans",
+        "sans-serif",
+    ]
+    fontsize = fontsize
+    rcParams["font.size"] = fontsize
+    rcParams["legend.fontsize"] = 0.92 * fontsize
+    rcParams["axes.titlesize"] = fontsize
+    rcParams["axes.labelsize"] = fontsize
+
+    # legend
+    rcParams["legend.numpoints"] = 1
+    rcParams["legend.scatterpoints"] = 1
+    rcParams["legend.handlelength"] = 0.5
+    rcParams["legend.handletextpad"] = 0.4
+
+    # color cycle
+    rcParams["axes.prop_cycle"] = cycler(color=palettes.default_20)
+
+    # lines
+    rcParams["axes.linewidth"] = 0.8
+    rcParams["axes.edgecolor"] = "black"
+    rcParams["axes.facecolor"] = "white"
+
+    # ticks
+    rcParams["xtick.color"] = "k"
+    rcParams["ytick.color"] = "k"
+    rcParams["xtick.labelsize"] = fontsize
+    rcParams["ytick.labelsize"] = fontsize
+
+    # axes grid
+    rcParams["axes.grid"] = False
+    rcParams["grid.color"] = ".8"
+
+    # color map
+    rcParams["image.cmap"] = rcParams["image.cmap"] if color_map is None else color_map