Update app.py
Browse files
app.py
CHANGED
@@ -50,6 +50,7 @@ channel_filter = st.sidebar.multiselect('Select Channel', options=channel_option
|
|
50 |
sentiment_filter = st.sidebar.multiselect('Select Sentiment', options=sentiment_options, default=sentiment_options)
|
51 |
discrimination_filter = st.sidebar.multiselect('Select Discrimination', options=discrimination_options, default=discrimination_options)
|
52 |
|
|
|
53 |
# Apply filters
|
54 |
df_filtered = df[(df['Domain'].isin(domain_filter)) &
|
55 |
(df['Channel'].isin(channel_filter)) &
|
@@ -76,9 +77,14 @@ def create_gender_ethnicity_distribution_chart(df):
|
|
76 |
|
77 |
# Visualization for Sentiment Distribution Across Domains
|
78 |
def create_sentiment_distribution_chart(df):
|
79 |
-
df['Discrimination'] = df['Discrimination'].replace({"Non Discriminative": "Non-Discriminative"}) # Assuming typo in the original script
|
80 |
domain_counts = df.groupby(['Domain', 'Sentiment']).size().reset_index(name='counts')
|
81 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
82 |
fig.update_layout(margin=dict(l=20, r=20, t=50, b=20), xaxis_title="Domain", yaxis_title="Counts", font=dict(size=10))
|
83 |
return fig
|
84 |
|
|
|
50 |
sentiment_filter = st.sidebar.multiselect('Select Sentiment', options=sentiment_options, default=sentiment_options)
|
51 |
discrimination_filter = st.sidebar.multiselect('Select Discrimination', options=discrimination_options, default=discrimination_options)
|
52 |
|
53 |
+
|
54 |
# Apply filters
|
55 |
df_filtered = df[(df['Domain'].isin(domain_filter)) &
|
56 |
(df['Channel'].isin(channel_filter)) &
|
|
|
77 |
|
78 |
# Visualization for Sentiment Distribution Across Domains
|
79 |
def create_sentiment_distribution_chart(df):
|
|
|
80 |
domain_counts = df.groupby(['Domain', 'Sentiment']).size().reset_index(name='counts')
|
81 |
+
domain_counts = domain_counts.sort_values('counts')
|
82 |
+
|
83 |
+
# Reverse the color scheme
|
84 |
+
color_map = {'Negative': 'red', 'Positive': 'blue', 'Neutral': 'lightblue'}
|
85 |
+
|
86 |
+
fig = px.bar(domain_counts, x='Domain', y='counts', color='Sentiment', color_discrete_map=color_map,
|
87 |
+
title="Sentiment Distribution Across Domains", barmode='stack')
|
88 |
fig.update_layout(margin=dict(l=20, r=20, t=50, b=20), xaxis_title="Domain", yaxis_title="Counts", font=dict(size=10))
|
89 |
return fig
|
90 |
|