Skip to content

Commit 8891f28

Browse files
authored
Merge pull request #45 from posit-dev/feat-gt-color-box
feat `gt_color_box()`
2 parents 88814ea + d6f8863 commit 8891f28

File tree

11 files changed

+365
-20
lines changed

11 files changed

+365
-20
lines changed

docs/_quarto.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ quartodoc:
4545
contents:
4646
- gt_highlight_cols
4747
- gt_hulk_col_numeric
48+
- gt_color_box
4849

4950
- title: Themes
5051
desc: Functions to generate themes.

docs/_sidebar.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ website:
99
- contents:
1010
- reference/gt_highlight_cols.qmd
1111
- reference/gt_hulk_col_numeric.qmd
12+
- reference/gt_color_box.qmd
1213
section: Colors
1314
- contents:
1415
- reference/gt_theme_538.qmd

docs/objects.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"project": "gt_extras", "version": "0.0.9999", "count": 32, "items": [{"name": "gt_extras.gt_plt_bar", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_plt_bar.html#gt_extras.gt_plt_bar", "dispname": "-"}, {"name": "gt_extras.plotting.gt_plt_bar", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_plt_bar.html#gt_extras.gt_plt_bar", "dispname": "gt_extras.gt_plt_bar"}, {"name": "gt_extras.gt_plt_dot", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_plt_dot.html#gt_extras.gt_plt_dot", "dispname": "-"}, {"name": "gt_extras.plotting.gt_plt_dot", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_plt_dot.html#gt_extras.gt_plt_dot", "dispname": "gt_extras.gt_plt_dot"}, {"name": "gt_extras.gt_highlight_cols", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_highlight_cols.html#gt_extras.gt_highlight_cols", "dispname": "-"}, {"name": "gt_extras.colors.gt_highlight_cols", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_highlight_cols.html#gt_extras.gt_highlight_cols", "dispname": "gt_extras.gt_highlight_cols"}, {"name": "gt_extras.gt_hulk_col_numeric", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_hulk_col_numeric.html#gt_extras.gt_hulk_col_numeric", "dispname": "-"}, {"name": "gt_extras.colors.gt_hulk_col_numeric", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_hulk_col_numeric.html#gt_extras.gt_hulk_col_numeric", "dispname": "gt_extras.gt_hulk_col_numeric"}, {"name": "gt_extras.gt_theme_538", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_theme_538.html#gt_extras.gt_theme_538", "dispname": "-"}, {"name": "gt_extras.themes.gt_theme_538", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_theme_538.html#gt_extras.gt_theme_538", "dispname": "gt_extras.gt_theme_538"}, {"name": "gt_extras.gt_theme_espn", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_theme_espn.html#gt_extras.gt_theme_espn", "dispname": "-"}, {"name": "gt_extras.themes.gt_theme_espn", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_theme_espn.html#gt_extras.gt_theme_espn", "dispname": "gt_extras.gt_theme_espn"}, {"name": "gt_extras.gt_theme_guardian", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_theme_guardian.html#gt_extras.gt_theme_guardian", "dispname": "-"}, {"name": "gt_extras.themes.gt_theme_guardian", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_theme_guardian.html#gt_extras.gt_theme_guardian", "dispname": "gt_extras.gt_theme_guardian"}, {"name": "gt_extras.gt_theme_nytimes", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_theme_nytimes.html#gt_extras.gt_theme_nytimes", "dispname": "-"}, {"name": "gt_extras.themes.gt_theme_nytimes", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_theme_nytimes.html#gt_extras.gt_theme_nytimes", "dispname": "gt_extras.gt_theme_nytimes"}, {"name": "gt_extras.gt_theme_excel", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_theme_excel.html#gt_extras.gt_theme_excel", "dispname": "-"}, {"name": "gt_extras.themes.gt_theme_excel", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_theme_excel.html#gt_extras.gt_theme_excel", "dispname": "gt_extras.gt_theme_excel"}, {"name": "gt_extras.gt_theme_dot_matrix", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_theme_dot_matrix.html#gt_extras.gt_theme_dot_matrix", "dispname": "-"}, {"name": "gt_extras.themes.gt_theme_dot_matrix", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_theme_dot_matrix.html#gt_extras.gt_theme_dot_matrix", "dispname": "gt_extras.gt_theme_dot_matrix"}, {"name": "gt_extras.gt_theme_dark", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_theme_dark.html#gt_extras.gt_theme_dark", "dispname": "-"}, {"name": "gt_extras.themes.gt_theme_dark", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_theme_dark.html#gt_extras.gt_theme_dark", "dispname": "gt_extras.gt_theme_dark"}, {"name": "gt_extras.gt_theme_pff", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_theme_pff.html#gt_extras.gt_theme_pff", "dispname": "-"}, {"name": "gt_extras.themes.gt_theme_pff", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_theme_pff.html#gt_extras.gt_theme_pff", "dispname": "gt_extras.gt_theme_pff"}, {"name": "gt_extras.fa_icon_repeat", "domain": "py", "role": "function", "priority": "1", "uri": "reference/fa_icon_repeat.html#gt_extras.fa_icon_repeat", "dispname": "-"}, {"name": "gt_extras.icons.fa_icon_repeat", "domain": "py", "role": "function", "priority": "1", "uri": "reference/fa_icon_repeat.html#gt_extras.fa_icon_repeat", "dispname": "gt_extras.fa_icon_repeat"}, {"name": "gt_extras.gt_fa_rating", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_fa_rating.html#gt_extras.gt_fa_rating", "dispname": "-"}, {"name": "gt_extras.icons.gt_fa_rating", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_fa_rating.html#gt_extras.gt_fa_rating", "dispname": "gt_extras.gt_fa_rating"}, {"name": "gt_extras.gt_hyperlink", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_hyperlink.html#gt_extras.gt_hyperlink", "dispname": "-"}, {"name": "gt_extras.html.gt_hyperlink", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_hyperlink.html#gt_extras.gt_hyperlink", "dispname": "gt_extras.gt_hyperlink"}, {"name": "gt_extras.with_tooltip", "domain": "py", "role": "function", "priority": "1", "uri": "reference/with_tooltip.html#gt_extras.with_tooltip", "dispname": "-"}, {"name": "gt_extras.html.with_tooltip", "domain": "py", "role": "function", "priority": "1", "uri": "reference/with_tooltip.html#gt_extras.with_tooltip", "dispname": "gt_extras.with_tooltip"}]}
1+
{"project": "gt_extras", "version": "0.0.9999", "count": 34, "items": [{"name": "gt_extras.gt_plt_bar", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_plt_bar.html#gt_extras.gt_plt_bar", "dispname": "-"}, {"name": "gt_extras.plotting.gt_plt_bar", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_plt_bar.html#gt_extras.gt_plt_bar", "dispname": "gt_extras.gt_plt_bar"}, {"name": "gt_extras.gt_plt_dot", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_plt_dot.html#gt_extras.gt_plt_dot", "dispname": "-"}, {"name": "gt_extras.plotting.gt_plt_dot", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_plt_dot.html#gt_extras.gt_plt_dot", "dispname": "gt_extras.gt_plt_dot"}, {"name": "gt_extras.gt_highlight_cols", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_highlight_cols.html#gt_extras.gt_highlight_cols", "dispname": "-"}, {"name": "gt_extras.colors.gt_highlight_cols", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_highlight_cols.html#gt_extras.gt_highlight_cols", "dispname": "gt_extras.gt_highlight_cols"}, {"name": "gt_extras.gt_hulk_col_numeric", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_hulk_col_numeric.html#gt_extras.gt_hulk_col_numeric", "dispname": "-"}, {"name": "gt_extras.colors.gt_hulk_col_numeric", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_hulk_col_numeric.html#gt_extras.gt_hulk_col_numeric", "dispname": "gt_extras.gt_hulk_col_numeric"}, {"name": "gt_extras.gt_color_box", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_color_box.html#gt_extras.gt_color_box", "dispname": "-"}, {"name": "gt_extras.colors.gt_color_box", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_color_box.html#gt_extras.gt_color_box", "dispname": "gt_extras.gt_color_box"}, {"name": "gt_extras.gt_theme_538", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_theme_538.html#gt_extras.gt_theme_538", "dispname": "-"}, {"name": "gt_extras.themes.gt_theme_538", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_theme_538.html#gt_extras.gt_theme_538", "dispname": "gt_extras.gt_theme_538"}, {"name": "gt_extras.gt_theme_espn", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_theme_espn.html#gt_extras.gt_theme_espn", "dispname": "-"}, {"name": "gt_extras.themes.gt_theme_espn", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_theme_espn.html#gt_extras.gt_theme_espn", "dispname": "gt_extras.gt_theme_espn"}, {"name": "gt_extras.gt_theme_guardian", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_theme_guardian.html#gt_extras.gt_theme_guardian", "dispname": "-"}, {"name": "gt_extras.themes.gt_theme_guardian", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_theme_guardian.html#gt_extras.gt_theme_guardian", "dispname": "gt_extras.gt_theme_guardian"}, {"name": "gt_extras.gt_theme_nytimes", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_theme_nytimes.html#gt_extras.gt_theme_nytimes", "dispname": "-"}, {"name": "gt_extras.themes.gt_theme_nytimes", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_theme_nytimes.html#gt_extras.gt_theme_nytimes", "dispname": "gt_extras.gt_theme_nytimes"}, {"name": "gt_extras.gt_theme_excel", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_theme_excel.html#gt_extras.gt_theme_excel", "dispname": "-"}, {"name": "gt_extras.themes.gt_theme_excel", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_theme_excel.html#gt_extras.gt_theme_excel", "dispname": "gt_extras.gt_theme_excel"}, {"name": "gt_extras.gt_theme_dot_matrix", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_theme_dot_matrix.html#gt_extras.gt_theme_dot_matrix", "dispname": "-"}, {"name": "gt_extras.themes.gt_theme_dot_matrix", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_theme_dot_matrix.html#gt_extras.gt_theme_dot_matrix", "dispname": "gt_extras.gt_theme_dot_matrix"}, {"name": "gt_extras.gt_theme_dark", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_theme_dark.html#gt_extras.gt_theme_dark", "dispname": "-"}, {"name": "gt_extras.themes.gt_theme_dark", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_theme_dark.html#gt_extras.gt_theme_dark", "dispname": "gt_extras.gt_theme_dark"}, {"name": "gt_extras.gt_theme_pff", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_theme_pff.html#gt_extras.gt_theme_pff", "dispname": "-"}, {"name": "gt_extras.themes.gt_theme_pff", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_theme_pff.html#gt_extras.gt_theme_pff", "dispname": "gt_extras.gt_theme_pff"}, {"name": "gt_extras.fa_icon_repeat", "domain": "py", "role": "function", "priority": "1", "uri": "reference/fa_icon_repeat.html#gt_extras.fa_icon_repeat", "dispname": "-"}, {"name": "gt_extras.icons.fa_icon_repeat", "domain": "py", "role": "function", "priority": "1", "uri": "reference/fa_icon_repeat.html#gt_extras.fa_icon_repeat", "dispname": "gt_extras.fa_icon_repeat"}, {"name": "gt_extras.gt_fa_rating", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_fa_rating.html#gt_extras.gt_fa_rating", "dispname": "-"}, {"name": "gt_extras.icons.gt_fa_rating", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_fa_rating.html#gt_extras.gt_fa_rating", "dispname": "gt_extras.gt_fa_rating"}, {"name": "gt_extras.gt_hyperlink", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_hyperlink.html#gt_extras.gt_hyperlink", "dispname": "-"}, {"name": "gt_extras.html.gt_hyperlink", "domain": "py", "role": "function", "priority": "1", "uri": "reference/gt_hyperlink.html#gt_extras.gt_hyperlink", "dispname": "gt_extras.gt_hyperlink"}, {"name": "gt_extras.with_tooltip", "domain": "py", "role": "function", "priority": "1", "uri": "reference/with_tooltip.html#gt_extras.with_tooltip", "dispname": "-"}, {"name": "gt_extras.html.with_tooltip", "domain": "py", "role": "function", "priority": "1", "uri": "reference/with_tooltip.html#gt_extras.with_tooltip", "dispname": "gt_extras.with_tooltip"}]}

gt_extras/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
gt_theme_pff,
1111
)
1212

13-
from .colors import gt_highlight_cols, gt_hulk_col_numeric
13+
from .colors import gt_highlight_cols, gt_hulk_col_numeric, gt_color_box
1414

1515
from .icons import fa_icon_repeat, gt_fa_rating
1616

@@ -30,6 +30,7 @@
3030

3131
"gt_highlight_cols",
3232
"gt_hulk_col_numeric",
33+
"gt_color_box",
3334

3435
"fa_icon_repeat",
3536

gt_extras/_utils_plotting.py renamed to gt_extras/_utils_column.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,8 @@ def _scale_numeric_column(
5555
col_name: str,
5656
col_vals: list,
5757
domain: list[int] | list[float] | None = None,
58+
default_domain_min_zero: bool = True,
59+
5860
) -> list[float]:
5961
"""
6062
Process and scale a numeric column, handling NA values.
@@ -68,8 +70,9 @@ def _scale_numeric_column(
6870
col_vals
6971
The column values
7072
domain
71-
The domain for scaling. If None, uses [0, max(values)]
72-
73+
The domain for scaling. If None, uses a default domain, based on `default_domain_min_zero`
74+
default_domain_min_zero
75+
If true, the defsult domain will be [0, max(values)], otherwise [min(values), max(values)]
7376
Returns
7477
-------
7578
list[float]
@@ -87,9 +90,12 @@ def _scale_numeric_column(
8790
if len(col_vals_filtered) and all(
8891
isinstance(x, (int, float)) for x in col_vals_filtered
8992
):
90-
# If `domain` is not provided, then set it to [0, max]
93+
# If `domain` is not provided, then set it to a default domain
9194
if domain is None:
92-
domain = [0, max(col_vals_filtered)]
95+
if default_domain_min_zero:
96+
domain = [0, max(col_vals_filtered)]
97+
else:
98+
domain = [min(col_vals_filtered), max(col_vals_filtered)]
9399

94100
# Rescale based on the given domain
95101
scaled_vals = _rescale_numeric(df=data_table, vals=col_vals, domain=domain)

0 commit comments

Comments
 (0)