36ae18e880
Introduces a new plotstyle package providing consistent, presentation/thesis-ready matplotlib figures: a KIT corporate-design color palette (categorical, sequential, diverging, status), a theme applied via use() (KIT-black bottom spine only, left/bottom ticks, horizontal gridlines, left-aligned titles, LaTeX text in Latin Modern Sans), new_figure() with size presets and figure-level title/params subtitles, a same-size colorbar() helper, style_legend() and panel_label() building blocks, and savefig(). Ships as an optional "plotting" extra so core gallery installs stay lightweight, with a full test suite and a runnable example notebook. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
81 lines
2.2 KiB
Plaintext
81 lines
2.2 KiB
Plaintext
# Base rcParams for plotstyle. Loaded via plt.style.use() from style.use().
|
|
# Colors here mirror plotstyle.colors.INK (KIT black-70% gray family on white) — kept in sync by hand.
|
|
|
|
figure.facecolor: ffffff
|
|
figure.edgecolor: ffffff
|
|
figure.constrained_layout.use: True
|
|
|
|
axes.facecolor: ffffff
|
|
# axes.edgecolor/linewidth style the one visible spine (bottom — the rest are
|
|
# off below), so this is really "the bottom spine is black and heavier", not
|
|
# a general axes outline color.
|
|
axes.edgecolor: 000000
|
|
axes.linewidth: 1.25
|
|
axes.labelcolor: 6a6a6a
|
|
axes.titlecolor: 404040
|
|
axes.titleweight: bold
|
|
axes.titlelocation: left
|
|
axes.grid: True
|
|
axes.grid.axis: y
|
|
axes.axisbelow: True
|
|
axes.spines.top: False
|
|
axes.spines.right: False
|
|
axes.spines.left: False
|
|
axes.spines.bottom: True
|
|
|
|
grid.color: ececec
|
|
grid.linewidth: 0.8
|
|
grid.alpha: 1.0
|
|
|
|
xtick.color: 969696
|
|
ytick.color: 969696
|
|
# Major tick labels read as the primary ("black") ink; minor tick labels are
|
|
# muted grey. rcParams only expose one labelcolor per axis (no major/minor
|
|
# split) — the per-major/minor distinction is applied in code by
|
|
# plotstyle.figures.new_figure() via ax.tick_params(which=...). These values
|
|
# are just the fallback/default for axes that bypass new_figure().
|
|
xtick.labelcolor: 404040
|
|
ytick.labelcolor: 404040
|
|
xtick.direction: out
|
|
ytick.direction: out
|
|
xtick.bottom: True
|
|
xtick.top: False
|
|
ytick.left: True
|
|
ytick.right: False
|
|
# Minor ticks: x-axis only. The y-axis already has horizontal gridlines at
|
|
# major ticks, so y minor ticks would just add unlabeled clutter.
|
|
xtick.minor.visible: True
|
|
ytick.minor.visible: False
|
|
xtick.major.size: 6.0
|
|
xtick.minor.size: 3.0
|
|
xtick.major.width: 0.8
|
|
xtick.minor.width: 0.6
|
|
ytick.major.size: 6.0
|
|
ytick.minor.size: 3.0
|
|
ytick.major.width: 0.8
|
|
ytick.minor.width: 0.6
|
|
|
|
lines.linewidth: 2.0
|
|
lines.markersize: 6.0
|
|
lines.solid_capstyle: round
|
|
|
|
font.family: sans-serif
|
|
font.sans-serif: DejaVu Sans, Arial, Helvetica, sans-serif
|
|
font.size: 11
|
|
axes.titlesize: 13
|
|
axes.labelsize: 11
|
|
xtick.labelsize: 10
|
|
ytick.labelsize: 10
|
|
legend.fontsize: 10
|
|
|
|
legend.frameon: False
|
|
legend.handlelength: 1.6
|
|
legend.labelspacing: 0.4
|
|
legend.title_fontsize: 10
|
|
|
|
savefig.facecolor: ffffff
|
|
savefig.edgecolor: ffffff
|
|
savefig.dpi: 300
|
|
savefig.bbox: tight
|
|
savefig.pad_inches: 0.05
|