"""Streamlit App 1: Data Explorer - Interactive data visualization.""" import numpy as np import streamlit as st st.set_page_config(page_title="App 1: Data Explorer", layout="wide") st.title("🚀 Data Explorer") st.write("Generate and visualize random data interactively!") # Sidebar controls st.sidebar.header("Configuration") num_points = st.sidebar.slider( "Number of data points:", min_value=50, max_value=500, value=100, step=50, ) dimensions = st.sidebar.radio("Dimensions:", ["2D", "3D"], index=0) # Generate data if dimensions == "2D": data = np.random.randn(num_points, 2) st.subheader("2D Scatter Plot") st.scatter_chart(data) else: data = np.random.randn(num_points, 3) st.subheader("3D Data") st.write("Showing first 10 rows:") st.dataframe(data[:10]) # Statistics st.subheader("Statistics") col1, col2, col3 = st.columns(3) with col1: st.metric("Mean", f"{data.mean():.2f}") with col2: st.metric("Std Dev", f"{data.std():.2f}") with col3: st.metric("Data Points", num_points)