Figure functions
API reference for all built-in CapturedCallable
figure functions to be used in the
Figure
. The how-to guide on figures contains more information.
Using figure functions in pure Dash app
Identical functions can also be used outside the Vizro framework in a pure Dash app by importing from the vizro.figures.library
namespace:
vizro.figures
kpi_card
kpi_card(data_frame, value_column, *, value_format='{value}', agg_func='sum', title=None, icon=None)
Creates a styled KPI (Key Performance Indicator) card displaying a value.
Warning: Note that the format string provided to value_format
is being evaluated, so ensure that only trusted
user input is provided to prevent
potential security risks.
Parameters:
-
data_frame
(DataFrame
) –DataFrame containing the data.
-
value_column
(str
) –Column name of the value to be shown.
-
value_format
(str
, default:'{value}'
) –Format string to be applied to the value. It must be a valid Python format string where any of the below placeholders can be used. Defaults to "{value}".
- value:
value_column
aggregated byagg_func
.
Common examples include:
- "{value}": Displays the raw value.
- "${value:0.2f}": Formats the value as a currency with two decimal places.
- "{value:.0%}": Formats the value as a percentage without decimal places.
- "{value:,}": Formats the value with comma as a thousands separator.
- value:
-
agg_func
(str
, default:'sum'
) –String function name to be used for aggregating the data. Common options include "sum", "mean" or "median". Default is "sum". For more information on possible functions, see https://stackoverflow.com/questions/65877567/passing-function-names-as-strings-to-pandas-groupby-aggregrate.
-
title
(Optional[str]
, default:None
) –KPI title displayed on top of the card. If not provided, it defaults to the capitalized
value_column
. -
icon
(Optional[str]
, default:None
) –Name of the icon from the Google Material Icon Library to be displayed on the left side of the KPI title. If not provided, no icon is displayed.
Returns:
-
Card
–A Dash Bootstrap Components card (
dbc.Card
) containing the formatted KPI value.
Examples:
Wrap inside vm.Figure
to use as a component inside vm.Page
or vm.Container
.
>>> import vizro.models as vm
>>> from vizro.figures import kpi_card
>>> vm.Page(title="Page", components=[vm.Figure(figure=kpi_card(...))])
Source code in src/vizro/figures/_kpi_cards.py
kpi_card_reference
kpi_card_reference(data_frame, value_column, reference_column, *, value_format='{value}', reference_format='{delta_relative:+.1%} vs. reference ({reference})', agg_func='sum', title=None, icon=None, reverse_color=False)
Creates a styled KPI (Key Performance Indicator) card displaying a value in comparison to a reference value.
Warning: Note that the format string provided to value_format
and reference_format
is being evaluated,
so ensure that only trusted user input is provided to prevent
potential security risks.
Parameters:
-
data_frame
(DataFrame
) –DataFrame containing the data.
-
value_column
(str
) –Column name of the value to be shown.
-
reference_column
(str
) –Column name of the reference value for comparison.
-
value_format
(str
, default:'{value}'
) –Format string to be applied to the value. It must be a valid Python format string where any of the below placeholders can be used. Defaults to "{value}".
- value:
value_column
aggregated byagg_func
. - reference:
reference_column
aggregated byagg_func
. - delta: Difference between
value
andreference
. - delta_relative: Relative difference between
value
andreference
.
Common examples include:
- "{value}": Displays the raw value.
- "${value:0.2f}": Formats the value as a currency with two decimal places.
- "{value:.0%}": Formats the value as a percentage without decimal places.
- "{value:,}": Formats the value with comma as a thousands separator.
- value:
-
reference_format
(str
, default:'{delta_relative:+.1%} vs. reference ({reference})'
) –Format string to be applied to the reference. For more details on possible placeholders, see docstring on
value_format
. Defaults to "{delta_relative:+.1%} vs. reference ({reference})". -
agg_func
(str
, default:'sum'
) –String function name to be used for aggregating the data. Common options include "sum", "mean" or "median". Default is "sum". For more information on possible functions, see https://stackoverflow.com/questions/65877567/passing-function-names-as-strings-to-pandas-groupby-aggregrate.
-
title
(Optional[str]
, default:None
) –KPI title displayed on top of the card. If not provided, it defaults to the capitalized
value_column
. -
icon
(Optional[str]
, default:None
) –Name of the icon from the Google Material Icon Library to be displayed on the left side of the KPI title. If not provided, no icon is displayed.
-
reverse_color
(bool
, default:False
) –If
False
, a positive delta will be colored positively (e.g., blue) and a negative delta negatively (e.g., red). IfTrue
, the colors will be inverted: a positive delta will be colored negatively (e.g., red) and a negative delta positively (e.g., blue). Defaults toFalse
.
Returns:
-
Card
–A Dash Bootstrap Components card (
dbc.Card
) containing the formatted KPI value and reference.
Examples:
Wrap inside vm.Figure
to use as a component inside vm.Page
or vm.Container
.
>>> import vizro.models as vm
>>> from vizro.figures import kpi_card_reference
>>> vm.Page(title="Page", components=[vm.Figure(figure=kpi_card_reference(...))])
Source code in src/vizro/figures/_kpi_cards.py
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 |
|