Update app.py
Browse files
app.py
CHANGED
|
@@ -1134,25 +1134,48 @@ def display_distribution_tab():
|
|
| 1134 |
key="chart_type_select"
|
| 1135 |
)
|
| 1136 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1137 |
with col2:
|
| 1138 |
if chart_type != "Distribution Plot":
|
| 1139 |
column_type = "Numerical" if chart_type in ["Histogram", "Box Plot", "Violin Plot"] else "Categorical"
|
| 1140 |
-
columns_to_show = df.select_dtypes(include=['number']).columns
|
| 1141 |
|
| 1142 |
selected_columns = st.multiselect(
|
| 1143 |
f"Select {column_type} Columns to Visualize",
|
| 1144 |
options=columns_to_show,
|
| 1145 |
-
default=columns_to_show[:min(3, len(columns_to_show))],
|
| 1146 |
key="column_select"
|
| 1147 |
)
|
| 1148 |
else:
|
| 1149 |
-
num_cols = df.select_dtypes(include=['number']).columns
|
| 1150 |
selected_columns = st.multiselect(
|
| 1151 |
"Select Numerical Columns",
|
| 1152 |
options=num_cols,
|
| 1153 |
-
default=num_cols[:min(3, len(num_cols))],
|
| 1154 |
key="column_select"
|
| 1155 |
)
|
|
|
|
| 1156 |
st.markdown('</div>', unsafe_allow_html=True)
|
| 1157 |
|
| 1158 |
# Display selected charts
|
|
@@ -1530,11 +1553,22 @@ def display_relationships_tab():
|
|
| 1530 |
# Scatter plot matrix
|
| 1531 |
st.subheader("Scatter Plot Matrix")
|
| 1532 |
|
| 1533 |
-
# Let user choose columns
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1534 |
selected_cols = st.multiselect(
|
| 1535 |
"Select columns for scatter plot matrix (max 5 recommended)",
|
| 1536 |
options=num_cols,
|
| 1537 |
-
default=num_cols[:min(4, len(num_cols))]
|
| 1538 |
)
|
| 1539 |
|
| 1540 |
if selected_cols:
|
|
|
|
| 1134 |
key="chart_type_select"
|
| 1135 |
)
|
| 1136 |
|
| 1137 |
+
# with col2:
|
| 1138 |
+
# if chart_type != "Distribution Plot":
|
| 1139 |
+
# column_type = "Numerical" if chart_type in ["Histogram", "Box Plot", "Violin Plot"] else "Categorical"
|
| 1140 |
+
# columns_to_show = df.select_dtypes(include=['number']).columns.tolist() if column_type == "Numerical" else df.select_dtypes(include=['object', 'category']).columns.tolist()
|
| 1141 |
+
|
| 1142 |
+
# selected_columns = st.multiselect(
|
| 1143 |
+
# f"Select {column_type} Columns to Visualize",
|
| 1144 |
+
# options=columns_to_show,
|
| 1145 |
+
# default=columns_to_show[:min(3, len(columns_to_show))],
|
| 1146 |
+
# key="column_select"
|
| 1147 |
+
# )
|
| 1148 |
+
# else:
|
| 1149 |
+
# num_cols = df.select_dtypes(include=['number']).columns.tolist()
|
| 1150 |
+
# selected_columns = st.multiselect(
|
| 1151 |
+
# "Select Numerical Columns",
|
| 1152 |
+
# options=num_cols,
|
| 1153 |
+
# default=num_cols[:min(3, len(num_cols))],
|
| 1154 |
+
# key="column_select"
|
| 1155 |
+
# )
|
| 1156 |
+
|
| 1157 |
+
|
| 1158 |
+
|
| 1159 |
with col2:
|
| 1160 |
if chart_type != "Distribution Plot":
|
| 1161 |
column_type = "Numerical" if chart_type in ["Histogram", "Box Plot", "Violin Plot"] else "Categorical"
|
| 1162 |
+
columns_to_show = list(df.select_dtypes(include=['number']).columns) if column_type == "Numerical" else list(df.select_dtypes(include=['object', 'category']).columns)
|
| 1163 |
|
| 1164 |
selected_columns = st.multiselect(
|
| 1165 |
f"Select {column_type} Columns to Visualize",
|
| 1166 |
options=columns_to_show,
|
| 1167 |
+
default=list(columns_to_show[:min(3, len(columns_to_show))]), # Convert to list ✅
|
| 1168 |
key="column_select"
|
| 1169 |
)
|
| 1170 |
else:
|
| 1171 |
+
num_cols = list(df.select_dtypes(include=['number']).columns) # Convert to list ✅
|
| 1172 |
selected_columns = st.multiselect(
|
| 1173 |
"Select Numerical Columns",
|
| 1174 |
options=num_cols,
|
| 1175 |
+
default=list(num_cols[:min(3, len(num_cols))]), # Convert to list ✅
|
| 1176 |
key="column_select"
|
| 1177 |
)
|
| 1178 |
+
|
| 1179 |
st.markdown('</div>', unsafe_allow_html=True)
|
| 1180 |
|
| 1181 |
# Display selected charts
|
|
|
|
| 1553 |
# Scatter plot matrix
|
| 1554 |
st.subheader("Scatter Plot Matrix")
|
| 1555 |
|
| 1556 |
+
# # Let user choose columns
|
| 1557 |
+
# selected_cols = st.multiselect(
|
| 1558 |
+
# "Select columns for scatter plot matrix (max 5 recommended)",
|
| 1559 |
+
# options=num_cols,
|
| 1560 |
+
# default=num_cols[:min(4, len(num_cols))]
|
| 1561 |
+
# )
|
| 1562 |
+
|
| 1563 |
+
|
| 1564 |
+
# Convert num_cols to a list before using it in multiselect
|
| 1565 |
+
num_cols = list(df.select_dtypes(include=['number']).columns)
|
| 1566 |
+
|
| 1567 |
+
# Ensure default selection is also a list
|
| 1568 |
selected_cols = st.multiselect(
|
| 1569 |
"Select columns for scatter plot matrix (max 5 recommended)",
|
| 1570 |
options=num_cols,
|
| 1571 |
+
default=list(num_cols[:min(4, len(num_cols))]) # Convert to list ✅
|
| 1572 |
)
|
| 1573 |
|
| 1574 |
if selected_cols:
|