diff --git a/src/manchot_plot/colours.py b/src/manchot_plot/colours.py index c63a65e..68d386d 100644 --- a/src/manchot_plot/colours.py +++ b/src/manchot_plot/colours.py @@ -29,65 +29,31 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see www.gnu.org/licenses/. """ +# RAL colours () +ral_1003 = "#e6b019" +ral_2010 = "#bc602d" +ral_3001 = "#8f1e24" +ral_4008 = "#7c477d" +ral_5005 = "#134a85" +ral_6032 = "#417e57" +ral_7004 = "#969799" +ral_8002 = "#704f40" +ral_9003 = "#ebecea" +ral_9004 = "#2f3133" -# Default palette -colour_blue = "#113847" -colour_light_blue = "#88AAC6" -colour_red = "#4D251D" -colour_yellow = "#BD9A5A" -colour_green = "#3F4738" -colour_violet = "#5F2C51" -colour_cyan = "#1D627E" -colour_orange = "#9B4D40" +ral_350_50_45 = "#a6507e" -colour_purple = colour_violet -# Bright palette -bright_white = "#DDDDDD" -bright_black = "#121212" -bright_blue = "#06518E" -bright_light_blue = "#009EDB" -bright_red = "#ED1C24" -bright_yellow = "#E8BD0F" -bright_green = "#3B795E" -bright_violet = "#C95BCF" -bright_cyan = "#216576" -bright_light_cyan = "#1E8C9D" -bright_orange = "#EB6D1A" -bright_purple = bright_violet - -# Blue palette -blues_1 = "#D6E3EC" -blues_2 = "#88AAC6" # light blue -blues_3 = "#4A5B65" -blues_4 = "#21475A" -blues_5 = "#113847" # blue - -# Grey palette -greys_1 = "#CED8DB" # white -greys_2 = "#A4B0B4" -greys_3 = "#7A888C" # grey -greys_4 = "#596569" -greys_5 = "#171F22" # black - -colour_white = greys_1 -colour_grey = greys_3 -colour_black = greys_5 - -# bluegreen palette -bluegreen_1 = "#C2D0DB" -bluegreen_2 = "#6C8B90" -bluegreen_3 = "#4D6C5B" -bluegreen_4 = "#3A5662" -bluegreen_5 = "#31504B" - -# tree palette -tree_1 = "#CFDED7" -tree_2 = "#806655" # brown -tree_3 = "#3F4738" # green -tree_4 = "#113847" # blue -tree_5 = "#122921" # dark green - -colour_brown = tree_2 -colour_dark_green = tree_5 +# Signal palette +signal_yellow = ral_1003 +signal_orange = ral_2010 +signal_red = ral_3001 +signal_violet = ral_4008 +signal_blue = ral_5005 +signal_green = ral_6032 +signal_grey = ral_7004 +signal_brown = ral_8002 +signal_white = ral_9003 +signal_black = ral_9004 +signal_pink = ral_350_50_45 diff --git a/src/manchot_plot/manchot_plot.py b/src/manchot_plot/manchot_plot.py index 5cd93f7..bc5b4e3 100644 --- a/src/manchot_plot/manchot_plot.py +++ b/src/manchot_plot/manchot_plot.py @@ -52,44 +52,22 @@ class ManchotRC: self.n_cols = 1 self.aspect = 3/2 + # Global parameters + self.linewidth = 2 + self.markersize = 3 + # Colours self.colour_fg = "#000000" self.colour_mg = "#7F7F7F" self.colour_bg = "#FFFFFF" - self.colours = [c.bright_blue, - c.bright_orange, - c.bright_green, - c.bright_blue, - c.bright_red, - c.bright_purple, - c.bright_cyan] - - self.lines_color = self.colours[0] - self.lines_markerfacecolor = "auto" - self.lines_markeredgecolor = "auto" - self.patch_facecolor = self.colours[0] - self.patch_edgecolor = self.colour_fg - self.hatch_color = self.colour_fg - self.boxplot_flierprops_color = self.colour_mg - self.boxplot_flierprops_markerfacecolor = self.colour_fg - self.boxplot_flierprops_markeredgecolor = self.colour_fg - self.boxplot_boxprops_color = self.colour_fg - self.boxplot_whiskerprops_color = self.boxplot_boxprops_color - self.boxplot_capprops_color = self.boxplot_boxprops_color - self.boxplot_medianprops_color = c.bright_orange - self.boxplot_meanprops_color = c.bright_cyan - self.boxplot_meanprops_markerfacecolor = self.boxplot_meanprops_color - self.boxplot_meanprops_markeredgecolor = self.boxplot_meanprops_color - self.text_color = self.colour_fg - self.axes_facecolor = self.colour_bg - self.axes_edgecolor = self.colour_fg - self.axes_titlecolor = self.axes_edgecolor - self.axes_labelcolor = self.axes_edgecolor - self.axes_prop_cycle = cycler(color=self.colours) - - # Global parameters - self.linewidth = 2 - self.markersize = 3 + self.colours = [c.signal_blue, + c.signal_orange, + c.signal_green, + c.signal_red, + c.signal_violet, + c.signal_brown, + c.signal_pink, + c.signal_grey] # Lines self.lines_linewidth = self.linewidth @@ -101,13 +79,19 @@ class ManchotRC: self.lines_dash_capstyle = "round" self.lines_solid_joinstyle = "round" self.lines_solid_capstyle = "round" + self.lines_color = self.colours[0] + self.lines_markerfacecolor = "auto" + self.lines_markeredgecolor = "auto" # Patches self.patch_linewidth = self.linewidth self.patch_force_edgecolor = False + self.patch_facecolor = self.colours[0] + self.patch_edgecolor = self.colour_fg # Hatches self.hatch_linewidth = self.linewidth/2 + self.hatch_color = self.colour_fg # Boxplots self.boxplot_notch = False @@ -144,6 +128,17 @@ class ManchotRC: self.boxplot_meanprops_linestyle = self.boxplot_boxprops_linestyle self.boxplot_meanprops_linewidth = self.boxplot_boxprops_linewidth + self.boxplot_flierprops_color = self.colour_mg + self.boxplot_flierprops_markerfacecolor = self.colour_fg + self.boxplot_flierprops_markeredgecolor = self.colour_fg + self.boxplot_boxprops_color = self.colour_fg + self.boxplot_whiskerprops_color = self.boxplot_boxprops_color + self.boxplot_capprops_color = self.boxplot_boxprops_color + self.boxplot_medianprops_color = self.colours[1] + self.boxplot_meanprops_color = self.colours[2] + self.boxplot_meanprops_markerfacecolor = self.boxplot_meanprops_color + self.boxplot_meanprops_markeredgecolor = self.boxplot_meanprops_color + # Font font_list = mpl.font_manager.get_font_names() if "Latin Modern Roman" in font_list : @@ -178,6 +173,7 @@ class ManchotRC: self.text_usetex = False self.latex_preamble = "" self.mathtext_fontset = "cm" + self.text_color = self.colour_fg # Axes self.axes_linewidth = self.linewidth/2 @@ -193,6 +189,44 @@ class ManchotRC: self.axes_labelweight = "normal" self.axes_labelpad = 4.0 self.axes_axisbelow = "line" + self.axes_facecolor = self.colour_bg + self.axes_edgecolor = self.colour_fg + self.axes_titlecolor = self.axes_edgecolor + self.axes_labelcolor = self.axes_edgecolor + self.axes_prop_cycle = cycler(color=self.colours) + + self.axes_formatter_limits = (-5, 6) + self.axes_formatter_use_locale = False + self.axes_formatter_use_mathtext = False + self.axes_formatter_min_exponent = 0 + self.axes_formatter_useoffset = True + self.axes_formatter_offset_threshold = 4 + self.axes_spines_left = True + self.axes_spines_bottom = True + self.axes_spines_top = True + self.axes_spines_right = True + self.axes_unicode_minus = True + + self.axes_xmargin = 0.05 + self.axes_ymargin = 0.05 + self.axes_zmargin = 0.05 + self.axes_autolimit_mode = "data" + + self.polaraxes_grid = True + + self.axes3d_grid = True + self.axes3d_automargin = False + self.axes3d_xaxis_panecolor = (0.95,0.95,0.95,0.5) + self.axes3d_yaxis_panecolor = (0.90,0.90,0.90,0.5) + self.axes3d_zaxis_panecolor = (0.925,0.925,0.925,0.5) + self.axes3d_mouserotationstyle = "arcball" + self.axes3d_trackballsize = 0.667 + self.axes3d_trackballborder = 0.2 + + + + # XXX START BACK HERE + # Figure self.figure_dpi = 150 @@ -324,6 +358,35 @@ class ManchotRC: self.context["savefig.dpi"] = self.savefig_dpi self.context["savefig.transparent"] = self.savefig_transparent + + # Axes + self.context["axes.formatter.limits"] = self.axes_formatter_limits + self.context["axes.formatter.use_locale"] = self.axes_formatter_use_locale + self.context["axes.formatter.use_mathtext"] = self.axes_formatter_use_mathtext + self.context["axes.formatter.min_exponent"] = self.axes_formatter_min_exponent + self.context["axes.formatter.useoffset"] = self.axes_formatter_useoffset + self.context["axes.formatter.offset_threshold"] = self.axes_formatter_offset_threshold + self.context["axes.spines.left"] = self.axes_spines_left + self.context["axes.spines.bottom"] = self.axes_spines_bottom + self.context["axes.spines.top"] = self.axes_spines_top + self.context["axes.spines.right"] = self.axes_spines_right + self.context["axes.unicode_minus"] = self.axes_unicode_minus + + self.context["axes.xmargin"] = self.axes_xmargin + self.context["axes.ymargin"] = self.axes_ymargin + self.context["axes.zmargin"] = self.axes_zmargin + self.context["axes.autolimit_mode"] = self.axes_autolimit_mode + + self.context["polaraxes.grid"] = self.polaraxes_grid + + self.context["axes3d.grid"] = self.axes3d_grid + self.context["axes3d.automargin"] = self.axes3d_automargin + self.context["axes3d.xaxis.panecolor"] = self.axes3d_xaxis_panecolor + self.context["axes3d.yaxis.panecolor"] = self.axes3d_yaxis_panecolor + self.context["axes3d.zaxis.panecolor"] = self.axes3d_zaxis_panecolor + self.context["axes3d.mouserotationstyle"] = self.axes3d_mouserotationstyle + self.context["axes3d.trackballsize"] = self.axes3d_trackballsize + self.context["axes3d.trackballborder"] = self.axes3d_trackballborder return None @@ -336,15 +399,15 @@ if __name__ == "__main__": axs[0].plot([0,1,2,3,4], [4,3,1,2,4], "--") axs[0].set_title("Lorem") - axs[0].set_xlabel("$x\\ \\mathrm{[cm]}$") - axs[0].set_ylabel("$y\\ \\mathrm{[cm]}$") + axs[0].set_xlabel("$x~\\mathrm{[cm]}$") + axs[0].set_ylabel("$y~\\mathrm{[cm]}$") axs[1].scatter([0,1,2,3,4], [2,1,4,3,6]) axs[1].scatter([0,1,2,3,4], [4,3,1,2,4], s=[1,2,3,4,6]) axs[1].set_title("Ipsum") - axs[1].set_xlabel("$x\\ \\mathrm{[cm]}$") - axs[1].set_ylabel("$y\\ \\mathrm{[cm]}$") + axs[1].set_xlabel("$x~\\mathrm{[cm]}$") + axs[1].set_ylabel("$y~\\mathrm{[cm]}$") axs[1].text(2, 2, "sample text") axs[2].set_title("Dolor")