Skip to content
Snippets Groups Projects
Commit d994fa17 authored by Edward Mawuko Samlafo-Adams's avatar Edward Mawuko Samlafo-Adams
Browse files

visualization improvements

parent 91879c97
No related branches found
No related tags found
No related merge requests found
No preview for this file type
......@@ -20,7 +20,7 @@ def app():
# Sidebar navigation for graph selection
graph_choice = st.sidebar.radio(
"Select a Graph to Display:",
("Job Categories Distribution", "Contract Types Distribution", "Salary Distribution")
("Job Categories Distribution", "Location vs Job Count", "Salary Distribution")
)
# Job Categories Bar Chart
......@@ -30,7 +30,7 @@ def app():
category_counts = df["Category"].value_counts().head(10).reset_index()
category_counts.columns = ["Category", "Count"]
plt.figure(figsize=(10, 6))
sns.barplot(data=category_counts, y="Category", x="Count", hue="Category", dodge=False, palette="viridis", legend=False)
sns.barplot(data=category_counts, y="Category", x="Count", palette="viridis")
plt.title("Top 10 Job Categories")
plt.xlabel("Number of Jobs")
plt.ylabel("Category")
......@@ -38,30 +38,32 @@ def app():
else:
st.warning("No 'Category' column found in the dataset.")
# Contract Types Bar Chart
elif graph_choice == "Contract Types Distribution":
st.subheader("Contract Types Distribution")
if "Primary Contract Type" in df.columns:
contract_counts = df["Primary Contract Type"].value_counts().reset_index()
contract_counts.columns = ["Contract Type", "Count"]
plt.figure(figsize=(8, 5))
sns.barplot(data=contract_counts, x="Contract Type", y="Count", hue="Contract Type", dodge=False, palette="crest", legend=False)
plt.title("Contract Types Distribution")
plt.xlabel("Contract Type")
plt.ylabel("Number of Jobs")
# Location vs Job Count Bar Chart
elif graph_choice == "Location vs Job Count":
st.subheader("Top Locations by Job Count")
if "Location" in df.columns:
location_counts = df["Location"].value_counts().head(10).reset_index()
location_counts.columns = ["Location", "Count"]
plt.figure(figsize=(10, 6))
sns.barplot(data=location_counts, y="Location", x="Count", palette="crest")
plt.title("Top 10 Locations by Job Count")
plt.xlabel("Number of Jobs")
plt.ylabel("Location")
st.pyplot(plt)
else:
st.warning("No contract types data available.")
st.warning("No 'Location' column found in the dataset.")
# Salary Histogram
# Salary Scatter Plot
elif graph_choice == "Salary Distribution":
st.subheader("Salary Distribution")
st.subheader("Salary Scatter Plot")
if "Salary (Numeric)" in df.columns:
plt.figure(figsize=(8, 5))
sns.histplot(df["Salary (Numeric)"].dropna(), bins=30, color='skyblue')
plt.title("Distribution of Salary")
plt.xlabel("Salary (EUR)")
plt.ylabel("Frequency")
filtered_df = df.dropna(subset=["Salary (Numeric)"])
filtered_df = filtered_df.reset_index()
plt.figure(figsize=(10, 6))
sns.scatterplot(data=filtered_df, x="index", y="Salary (Numeric)", alpha=0.7, color="blue")
plt.title("Salary Distribution Across Job Index")
plt.xlabel("Job Index")
plt.ylabel("Salary (EUR)")
st.pyplot(plt)
else:
st.warning("No numerical salary data available.")
st.warning("No 'Salary (Numeric)' column found in the dataset.")
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment