Streamlit
1 Introduction to Streamlit
1.1 What is Streamlit?
1.2 Why use Streamlit?
1.3 Setting up the environment
1.4 Creating your first Streamlit app
2 Basic Components
2.1 Text elements
2.1 1 Displaying text
2.1 2 Formatting text
2.2 Data display elements
2.2 1 Displaying data frames
2.2 2 Displaying tables
2.3 Input widgets
2.3 1 Text input
2.3 2 Number input
2.3 3 Date input
2.3 4 Dropdown selection
2.3 5 Slider
2.3 6 Checkbox
2.3 7 Radio buttons
2.3 8 Buttons
3 Advanced Components
3.1 Interactive widgets
3.1 1 Multiselect
3.1 2 File uploader
3.1 3 Color picker
3.2 Media elements
3.2 1 Displaying images
3.2 2 Displaying videos
3.2 3 Displaying audio
3.3 Chart elements
3.3 1 Line chart
3.3 2 Bar chart
3.3 3 Area chart
3.3 4 Scatter chart
3.3 5 Map chart
4 Layout and Styling
4.1 Layout components
4.1 1 Columns
4.1 2 Tabs
4.1 3 Expander
4.2 Styling elements
4.2 1 Custom CSS
4.2 2 Theming
4.2 3 Adding custom fonts
5 State Management
5.1 Session state
5.1 1 Managing state across reruns
5.1 2 Persisting state
5.2 Caching
5.2 1 Caching functions
5.2 2 Caching data
6 Deployment
6.1 Deploying to Streamlit Sharing
6.1 1 Setting up Streamlit Sharing
6.1 2 Deploying your app
6.2 Deploying to other platforms
6.2 1 Deploying to Heroku
6.2 2 Deploying to AWS
6.2 3 Deploying to Google Cloud
7 Best Practices
7.1 Writing clean and maintainable code
7.2 Optimizing performance
7.3 Handling errors and exceptions
7.4 Version control with Git
8 Advanced Topics
8.1 Integrating with other libraries
8.1 1 Integrating with Pandas
8.1 2 Integrating with Plotly
8.1 3 Integrating with TensorFlow
8.2 Building complex apps
8.2 1 Creating multi-page apps
8.2 2 Handling authentication
8.2 3 Building interactive dashboards
8.3 Custom components
8.3 1 Creating custom widgets
8.3 2 Extending Streamlit with custom components
9 Case Studies
9.1 Building a data exploration app
9.2 Building a machine learning model deployment app
9.3 Building a real-time data visualization app
2 3 7 Radio Buttons Explained

3 7 Radio Buttons Explained

Key Concepts

st.radio

st.radio is a Streamlit widget that provides a set of radio buttons. Users can select one option from the list provided. This widget is particularly useful when you want to restrict the user to a single choice from a set of options.

Options

The st.radio function accepts a list of options as its main parameter. Each item in the list represents a radio button that the user can select. The order of the options in the list determines the order in which the radio buttons are displayed.

Default Selection

You can specify a default selection for the radio buttons by passing the index of the desired option to the index parameter. This ensures that a particular option is pre-selected when the widget is first displayed.

Interactive Use

Using st.radio, you can create interactive applications where users can make choices that affect the output. For example, you can create a quiz where users select answers from a list of options.

Examples

Here are some examples to illustrate the use of st.radio:

import streamlit as st

st.title("Radio Buttons Example")

# Basic radio buttons
option = st.radio("Choose an option", ["Option 1", "Option 2", "Option 3"])
st.write(f"You selected: {option}")

# Radio buttons with default selection
default_option = 1
selected_option = st.radio("Choose an option", ["Option A", "Option B", "Option C"], index=default_option)
st.write(f"You selected: {selected_option}")

# Interactive quiz
question = "What is the capital of France?"
answers = ["Paris", "London", "Berlin", "Madrid"]
correct_answer = "Paris"

user_answer = st.radio(question, answers)
if user_answer == correct_answer:
    st.write("Correct!")
else:
    st.write("Incorrect. The correct answer is Paris.")
    

In the first example, basic radio buttons are created with three options. The second example demonstrates setting a default selection. The third example shows how to create an interactive quiz using radio buttons.