Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| import pandas as pd | |
| import seaborn as sns | |
| import matplotlib.pyplot as plt | |
| # Load the Iris dataset | |
| iris_df = sns.load_dataset('iris') | |
| # Sidebar for file upload and dataset selection | |
| st.sidebar.title('Upload CSV File') | |
| uploaded_file = st.sidebar.file_uploader("Choose a CSV file", type=['csv']) | |
| if uploaded_file is not None: | |
| # Read the uploaded file | |
| custom_df = pd.read_csv(uploaded_file) | |
| # Display the uploaded dataset | |
| st.write('**Uploaded Dataset:**') | |
| st.write(custom_df.head()) | |
| # Sidebar for plot selection | |
| plot_type = st.sidebar.selectbox('Select Plot Type', ['Histogram', 'Scatter Plot']) | |
| if plot_type == 'Histogram': | |
| # Sidebar for selecting column | |
| selected_column = st.sidebar.selectbox('Select Column for Histogram', custom_df.columns) | |
| # Plot histogram | |
| plt.figure(figsize=(8, 6)) | |
| sns.histplot(custom_df[selected_column]) | |
| st.pyplot() | |
| elif plot_type == 'Scatter Plot': | |
| # Sidebar for selecting columns | |
| x_axis = st.sidebar.selectbox('Select X-Axis Column', custom_df.columns) | |
| y_axis = st.sidebar.selectbox('Select Y-Axis Column', custom_df.columns) | |
| # Plot scatter plot | |
| plt.figure(figsize=(8, 6)) | |
| sns.scatterplot(x=x_axis, y=y_axis, data=custom_df) | |
| st.pyplot() | |
| else: | |
| # Display the default dataset | |
| st.write('**Default Dataset (Iris):**') | |
| st.write(iris_df.head()) | |
| # Sidebar for plot selection | |
| plot_type = st.sidebar.selectbox('Select Plot Type', ['Histogram', 'Scatter Plot']) | |
| if plot_type == 'Histogram': | |
| # Sidebar for selecting column | |
| selected_column = st.sidebar.selectbox('Select Column for Histogram', iris_df.columns) | |
| # Plot histogram | |
| plt.figure(figsize=(8, 6)) | |
| sns.histplot(iris_df[selected_column]) | |
| st.pyplot() | |
| elif plot_type == 'Scatter Plot': | |
| # Sidebar for selecting columns | |
| x_axis = st.sidebar.selectbox('Select X-Axis Column', iris_df.columns) | |
| y_axis = st.sidebar.selectbox('Select Y-Axis Column', iris_df.columns) | |
| # Plot scatter plot | |
| plt.figure(figsize=(8, 6)) | |
| sns.scatterplot(x=x_axis, y=y_axis, data=iris_df) | |
| st.pyplot() | |