Compare commits

...

2 Commits

Author SHA1 Message Date
Moussouni, Yaël
475595f0c8 2026-01-30: Changed palette, continued RC params... 2026-01-30 18:40:01 +01:00
Moussouni, Yaël
55e7ba0814 2026-01-30: Updated requirements 2026-01-30 14:52:46 +01:00
3 changed files with 128 additions and 96 deletions

View File

@@ -8,5 +8,8 @@ numpy==2.3.5
packaging==25.0 packaging==25.0
pillow==12.0.0 pillow==12.0.0
pyparsing==3.2.5 pyparsing==3.2.5
PyQt6==6.10.2
PyQt6-Qt6==6.10.2
PyQt6_sip==13.11.0
python-dateutil==2.9.0.post0 python-dateutil==2.9.0.post0
six==1.17.0 six==1.17.0

View File

@@ -29,65 +29,31 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see www.gnu.org/licenses/. along with this program. If not, see www.gnu.org/licenses/.
""" """
# RAL colours (<https://www.ral-farben.de/alle-ral-farben>)
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 ral_350_50_45 = "#a6507e"
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"
colour_purple = colour_violet
# Bright palette
bright_white = "#DDDDDD"
bright_black = "#121212"
bright_blue = "#06518E" # Signal palette
bright_light_blue = "#009EDB" signal_yellow = ral_1003
bright_red = "#ED1C24" signal_orange = ral_2010
bright_yellow = "#E8BD0F" signal_red = ral_3001
bright_green = "#3B795E" signal_violet = ral_4008
bright_violet = "#C95BCF" signal_blue = ral_5005
bright_cyan = "#216576" signal_green = ral_6032
bright_light_cyan = "#1E8C9D" signal_grey = ral_7004
bright_orange = "#EB6D1A" signal_brown = ral_8002
bright_purple = bright_violet signal_white = ral_9003
signal_black = ral_9004
# Blue palette signal_pink = ral_350_50_45
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

View File

@@ -52,44 +52,22 @@ class ManchotRC:
self.n_cols = 1 self.n_cols = 1
self.aspect = 3/2 self.aspect = 3/2
# Global parameters
self.linewidth = 2
self.markersize = 3
# Colours # Colours
self.colour_fg = "#000000" self.colour_fg = "#000000"
self.colour_mg = "#7F7F7F" self.colour_mg = "#7F7F7F"
self.colour_bg = "#FFFFFF" self.colour_bg = "#FFFFFF"
self.colours = [c.bright_blue, self.colours = [c.signal_blue,
c.bright_orange, c.signal_orange,
c.bright_green, c.signal_green,
c.bright_blue, c.signal_red,
c.bright_red, c.signal_violet,
c.bright_purple, c.signal_brown,
c.bright_cyan] c.signal_pink,
c.signal_grey]
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
# Lines # Lines
self.lines_linewidth = self.linewidth self.lines_linewidth = self.linewidth
@@ -101,13 +79,19 @@ class ManchotRC:
self.lines_dash_capstyle = "round" self.lines_dash_capstyle = "round"
self.lines_solid_joinstyle = "round" self.lines_solid_joinstyle = "round"
self.lines_solid_capstyle = "round" self.lines_solid_capstyle = "round"
self.lines_color = self.colours[0]
self.lines_markerfacecolor = "auto"
self.lines_markeredgecolor = "auto"
# Patches # Patches
self.patch_linewidth = self.linewidth self.patch_linewidth = self.linewidth
self.patch_force_edgecolor = False self.patch_force_edgecolor = False
self.patch_facecolor = self.colours[0]
self.patch_edgecolor = self.colour_fg
# Hatches # Hatches
self.hatch_linewidth = self.linewidth/2 self.hatch_linewidth = self.linewidth/2
self.hatch_color = self.colour_fg
# Boxplots # Boxplots
self.boxplot_notch = False self.boxplot_notch = False
@@ -144,6 +128,17 @@ class ManchotRC:
self.boxplot_meanprops_linestyle = self.boxplot_boxprops_linestyle self.boxplot_meanprops_linestyle = self.boxplot_boxprops_linestyle
self.boxplot_meanprops_linewidth = self.boxplot_boxprops_linewidth 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
font_list = mpl.font_manager.get_font_names() font_list = mpl.font_manager.get_font_names()
if "Latin Modern Roman" in font_list : if "Latin Modern Roman" in font_list :
@@ -178,6 +173,7 @@ class ManchotRC:
self.text_usetex = False self.text_usetex = False
self.latex_preamble = "" self.latex_preamble = ""
self.mathtext_fontset = "cm" self.mathtext_fontset = "cm"
self.text_color = self.colour_fg
# Axes # Axes
self.axes_linewidth = self.linewidth/2 self.axes_linewidth = self.linewidth/2
@@ -193,6 +189,44 @@ class ManchotRC:
self.axes_labelweight = "normal" self.axes_labelweight = "normal"
self.axes_labelpad = 4.0 self.axes_labelpad = 4.0
self.axes_axisbelow = "line" 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 # Figure
self.figure_dpi = 150 self.figure_dpi = 150
@@ -324,6 +358,35 @@ class ManchotRC:
self.context["savefig.dpi"] = self.savefig_dpi self.context["savefig.dpi"] = self.savefig_dpi
self.context["savefig.transparent"] = self.savefig_transparent 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 return None
@@ -336,15 +399,15 @@ if __name__ == "__main__":
axs[0].plot([0,1,2,3,4], [4,3,1,2,4], "--") axs[0].plot([0,1,2,3,4], [4,3,1,2,4], "--")
axs[0].set_title("Lorem") axs[0].set_title("Lorem")
axs[0].set_xlabel("$x\\ \\mathrm{[cm]}$") axs[0].set_xlabel("$x~\\mathrm{[cm]}$")
axs[0].set_ylabel("$y\\ \\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], [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].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_title("Ipsum")
axs[1].set_xlabel("$x\\ \\mathrm{[cm]}$") axs[1].set_xlabel("$x~\\mathrm{[cm]}$")
axs[1].set_ylabel("$y\\ \\mathrm{[cm]}$") axs[1].set_ylabel("$y~\\mathrm{[cm]}$")
axs[1].text(2, 2, "sample text") axs[1].text(2, 2, "sample text")
axs[2].set_title("Dolor") axs[2].set_title("Dolor")