Doughnut Chart
Doughnut Charts are ideal for showing changes over time or the magnitude of multiple datasets stacked together. They combine the smoothness of line charts with the visual impact of filled areas.
Usage
Copy the following helper functions into your Reflex application.
import reflex as rx tooltip = { "is_animation_active": False, "separator": "", "cursor": False, "item_style": { "color": "currentColor", "display": "flex", "paddingBottom": "0px", "justifyContent": "space-between", "textTransform": "capitalize", }, "label_style": { "color": rx.color("slate", 10), "fontWeight": "500", }, "content_style": { "background": rx.color_mode_cond("oklch(0.97 0.00 0)", "oklch(0.14 0.00 286)"), "borderColor": rx.color("slate", 5), "borderRadius": "5px", "fontFamily": "IBM Plex Mono,ui-monospace,monospace", "fontSize": "0.875rem", "lineHeight": "1.25rem", "fontWeight": "500", "letterSpacing": "-0.01rem", "minWidth": "8rem", "width": "175px", "padding": "0.375rem 0.625rem ", "position": "relative", }, } def info(title: str, size: str, subtitle: str, align: str): return rx.vstack( rx.heading(title, size=size, weight="bold"), rx.text(subtitle, size="1", color=rx.color("slate", 11), weight="medium"), spacing="1", align=align, ) def get_tooltip(): """Standard tooltip for all charts.""" return rx.recharts.graphing_tooltip(**tooltip) def get_cartesian_grid(): """Standard cartesian grid for charts.""" return rx.recharts.cartesian_grid( horizontal=True, vertical=False, class_name="opacity-25" ) def get_x_axis(data_key: str): """Standard X axis configuration.""" return rx.recharts.x_axis( data_key=data_key, axis_line=False, tick_size=10, tick_line=False, custom_attrs={"fontSize": "12px"}, interval="preserveStartEnd", )
Examples
Below are examples demonstrating how these components and charts can be used.
Doughnut Chart
A customizable doughnut chart with flexible styling and data visualization options.
Chrome
Safari
Firefox
Edge
Other
Doughnut Chart with Label
Displays a doughnut chart with centered label text for enhanced data presentation.