Panel 1.4 has just been released! Checkout the release notes and support Panel by giving it a 🌟 on Github.


Open this notebook in Jupyterlite | Download this notebook from GitHub (right-click to download).

import panel as pn

The RadioBoxGroup widget allows selecting from a list or dictionary of values using a set of checkboxes. It falls into the broad category of single-value, option-selection widgets that provide a compatible API and include the RadioButtonGroup, Select and DiscreteSlider widgets.

Discover more on using widgets to add interactivity to your applications in the how-to guides on interactivity. Alternatively, learn how to set up callbacks and (JS-)links between parameters or how to use them as part of declarative UIs with Param.


For details on other options for customizing the component see the layout and styling how-to guides.


  • options (list or dict): A list or dictionary of options to select from

  • value (object): The current value; must be one of the option values


  • disabled (boolean): Whether the widget is editable

  • inline (boolean): Whether to arrange the items vertically in a column (False) or horizontally in a line (True)

  • name (str): The title of the widget

radio_group = pn.widgets.RadioBoxGroup(name='RadioBoxGroup', options=['Biology', 'Chemistry', 'Physics'], inline=True)


Like most other widgets, RadioBoxGroup has a value parameter that can be accessed or set:



The RadioBoxGroup widget exposes a number of options which can be changed from both Python and Javascript. Try out the effect of these parameters interactively:

pn.Row(radio_group.controls(jslink=True), radio_group)

Open this notebook in Jupyterlite | Download this notebook from GitHub (right-click to download).