Skip to content

Commit be6aecc

Browse files
committed
refactor(theme): set axis title/text margins per side (panel-facing)
1 parent d7de3b8 commit be6aecc

3 files changed

Lines changed: 39 additions & 44 deletions

File tree

plotnine/themes/theme_gray.py

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -56,26 +56,23 @@ def __init__(self, base_size=11, base_family=None):
5656
axis_line_x=element_blank(),
5757
axis_line_y=element_blank(),
5858
axis_text=element_text(size=base_size * 0.8, color="#4D4D4D"),
59-
axis_text_x=element_text(
60-
va="top", margin=margin(t=fifth_line, b=fifth_line)
61-
),
62-
axis_text_y=element_text(
63-
ha="right", margin=margin(r=fifth_line, l=fifth_line)
64-
),
59+
axis_text_x=element_text(va="top"),
60+
axis_text_x_bottom=element_text(margin=margin(t=fifth_line)),
61+
axis_text_x_top=element_text(margin=margin(b=fifth_line)),
62+
axis_text_y=element_text(ha="right"),
63+
axis_text_y_left=element_text(margin=margin(r=fifth_line)),
64+
axis_text_y_right=element_text(margin=margin(l=fifth_line)),
6565
axis_ticks=element_line(color="#333333"),
6666
axis_ticks_length=0,
6767
axis_ticks_length_major=quarter_line,
6868
axis_ticks_length_minor=eighth_line,
6969
axis_ticks_minor=element_blank(),
70-
axis_title_x=element_text(
71-
va="bottom", ha="center", margin=margin(t=m, b=m, unit="fig")
72-
),
73-
axis_title_y=element_text(
74-
angle=90,
75-
va="center",
76-
ha="left",
77-
margin=margin(r=m, l=m, unit="fig"),
78-
),
70+
axis_title_x=element_text(va="bottom", ha="center"),
71+
axis_title_x_bottom=element_text(margin=margin(t=m, unit="fig")),
72+
axis_title_x_top=element_text(margin=margin(b=m, unit="fig")),
73+
axis_title_y=element_text(angle=90, va="center", ha="left"),
74+
axis_title_y_left=element_text(margin=margin(r=m, unit="fig")),
75+
axis_title_y_right=element_text(margin=margin(l=m, unit="fig")),
7976
dpi=get_option("dpi"),
8077
figure_size=get_option("figure_size"),
8178
# legend, None values are for parameters where the

plotnine/themes/theme_matplotlib.py

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -47,20 +47,18 @@ def __init__(self, rc=None, fname=None, use_defaults=True):
4747
margin=margin(),
4848
),
4949
aspect_ratio=get_option("aspect_ratio"),
50-
axis_text=element_text(
51-
size=base_size * 0.8,
52-
margin=margin(t=2.4, b=2.4, r=2.4, l=2.4, unit="pt"),
53-
),
54-
axis_title_x=element_text(
55-
va="bottom", ha="center", margin=margin(t=m, b=m, unit="fig")
56-
),
50+
axis_text=element_text(size=base_size * 0.8),
51+
axis_text_x_bottom=element_text(margin=margin(t=2.4, unit="pt")),
52+
axis_text_x_top=element_text(margin=margin(b=2.4, unit="pt")),
53+
axis_text_y_left=element_text(margin=margin(r=2.4, unit="pt")),
54+
axis_text_y_right=element_text(margin=margin(l=2.4, unit="pt")),
55+
axis_title_x=element_text(va="bottom", ha="center"),
56+
axis_title_x_bottom=element_text(margin=margin(t=m, unit="fig")),
57+
axis_title_x_top=element_text(margin=margin(b=m, unit="fig")),
5758
axis_line=element_blank(),
58-
axis_title_y=element_text(
59-
angle=90,
60-
va="center",
61-
ha="left",
62-
margin=margin(r=m, l=m, unit="fig"),
63-
),
59+
axis_title_y=element_text(angle=90, va="center", ha="left"),
60+
axis_title_y_left=element_text(margin=margin(r=m, unit="fig")),
61+
axis_title_y_right=element_text(margin=margin(l=m, unit="fig")),
6462
dpi=get_option("dpi"),
6563
figure_size=get_option("figure_size"),
6664
legend_background=element_rect(color="none"),

plotnine/themes/theme_seaborn.py

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -54,25 +54,25 @@ def __init__(
5454
dpi=get_option("dpi"),
5555
figure_size=get_option("figure_size"),
5656
text=element_text(size=base_size, rotation=0, margin={}),
57-
axis_text=element_text(
58-
size=base_size * 0.8,
59-
margin=margin(
60-
t=line_margin,
61-
b=line_margin,
62-
l=line_margin,
63-
r=line_margin,
64-
unit="pt",
65-
),
57+
axis_text=element_text(size=base_size * 0.8),
58+
axis_text_x_bottom=element_text(
59+
margin=margin(t=line_margin, unit="pt")
6660
),
67-
axis_title_x=element_text(
68-
va="bottom", ha="center", margin=margin(t=m, b=m, unit="fig")
61+
axis_text_x_top=element_text(
62+
margin=margin(b=line_margin, unit="pt")
6963
),
70-
axis_title_y=element_text(
71-
angle=90,
72-
va="center",
73-
ha="left",
74-
margin=margin(r=m, l=m, unit="fig"),
64+
axis_text_y_left=element_text(
65+
margin=margin(r=line_margin, unit="pt")
66+
),
67+
axis_text_y_right=element_text(
68+
margin=margin(l=line_margin, unit="pt")
7569
),
70+
axis_title_x=element_text(va="bottom", ha="center"),
71+
axis_title_x_bottom=element_text(margin=margin(t=m, unit="fig")),
72+
axis_title_x_top=element_text(margin=margin(b=m, unit="fig")),
73+
axis_title_y=element_text(angle=90, va="center", ha="left"),
74+
axis_title_y_left=element_text(margin=margin(r=m, unit="fig")),
75+
axis_title_y_right=element_text(margin=margin(l=m, unit="fig")),
7676
legend_box_margin=0,
7777
legend_box_spacing=m * 3, # figure units
7878
legend_key_spacing_x=6,

0 commit comments

Comments
 (0)