Spaces:
Runtime error
Runtime error
Update visualization.py
Browse files- visualization.py +22 -36
visualization.py
CHANGED
@@ -29,48 +29,34 @@ def create_bar_chart(data, title, speaker):
|
|
29 |
fig.update_layout(title=f"{title} - Speaker {speaker}", xaxis_title="Traits", yaxis_title="Score")
|
30 |
return fig
|
31 |
|
32 |
-
def
|
33 |
-
fig = go.Figure(data=go.Heatmap(
|
34 |
-
z=[[data[k] for k in data]],
|
35 |
-
x=list(data.keys()),
|
36 |
-
y=[speaker],
|
37 |
-
colorscale='Viridis'
|
38 |
-
))
|
39 |
-
fig.update_layout(title=f"{title} - Speaker {speaker}")
|
40 |
-
return fig
|
41 |
-
|
42 |
-
def update_visibility_and_charts(status, exec_time, lang, info, attachments, bigfive, personalities):
|
43 |
charts = []
|
44 |
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
charts.append(create_bar_chart(attachment_data, "Attachment Styles", speaker))
|
54 |
-
|
55 |
-
bigfive_data = {k: v for k, v in data.items() if k in ["Extraversion", "Agreeableness", "Conscientiousness", "Neuroticism", "Openness"]}
|
56 |
-
if bigfive_data:
|
57 |
-
charts.append(create_bar_chart(bigfive_data, "Big Five Traits", speaker))
|
58 |
-
|
59 |
-
personality_data = {k: v for k, v in data.items() if k in ["Depressed", "Paranoid", "Schizoid-Schizotypal", "Antisocial-Psychopathic", "Borderline-Dysregulated", "Hysteric-Histrionic", "Narcissistic", "Anxious-Avoidant", "Dependent-Victimized", "Obsessional"]}
|
60 |
-
if personality_data:
|
61 |
-
charts.append(create_bar_chart(personality_data, "Personality Traits", speaker))
|
62 |
-
|
63 |
-
anxiety_avoidance_data = {k: v for k, v in data.items() if k in ["Anxiety", "Avoidance"]}
|
64 |
-
if anxiety_avoidance_data:
|
65 |
-
charts.append(create_heatmap(anxiety_avoidance_data, "Anxiety-Avoidance", speaker))
|
66 |
|
67 |
-
|
68 |
-
|
69 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
|
71 |
return [
|
72 |
gr.update(value=status, visible=True),
|
73 |
gr.update(value=exec_time, visible=True),
|
74 |
gr.update(value=lang, visible=True),
|
75 |
-
gr.update(value=info, visible=True),
|
76 |
] + charts
|
|
|
29 |
fig.update_layout(title=f"{title} - Speaker {speaker}", xaxis_title="Traits", yaxis_title="Score")
|
30 |
return fig
|
31 |
|
32 |
+
def update_visibility_and_charts(status, exec_time, lang, attachments, bigfive, personalities):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
charts = []
|
34 |
|
35 |
+
for analysis_text in [attachments, bigfive, personalities]:
|
36 |
+
speakers_data = extract_speaker_data(analysis_text)
|
37 |
+
if not speakers_data:
|
38 |
+
print(f"No speaker data extracted from: {analysis_text}")
|
39 |
+
|
40 |
+
# Determine the two main speakers
|
41 |
+
speaker_counts = Counter(speakers_data.keys())
|
42 |
+
main_speakers = [speaker for speaker, count in speaker_counts.most_common(2)]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
|
44 |
+
for speaker in main_speakers:
|
45 |
+
data = speakers_data.get(speaker, {})
|
46 |
+
attachment_data = {k: v for k, v in data.items() if k in ["Secured", "Anxious-Preoccupied", "Dismissive-Avoidant", "Fearful-Avoidant"]}
|
47 |
+
if attachment_data:
|
48 |
+
charts.append(create_bar_chart(attachment_data, "Attachment Styles", speaker))
|
49 |
+
|
50 |
+
bigfive_data = {k: v for k, v in data.items() if k in ["Extraversion", "Agreeableness", "Conscientiousness", "Neuroticism", "Openness"]}
|
51 |
+
if bigfive_data:
|
52 |
+
charts.append(create_bar_chart(bigfive_data, "Big Five Traits", speaker))
|
53 |
+
|
54 |
+
personality_data = {k: v for k, v in data.items() if k in ["Depressed", "Paranoid", "Schizoid-Schizotypal", "Antisocial-Psychopathic", "Borderline-Dysregulated", "Hysteric-Histrionic", "Narcissistic", "Anxious-Avoidant", "Dependent-Victimized", "Obsessional"]}
|
55 |
+
if personality_data:
|
56 |
+
charts.append(create_bar_chart(personality_data, "Personality Traits", speaker))
|
57 |
|
58 |
return [
|
59 |
gr.update(value=status, visible=True),
|
60 |
gr.update(value=exec_time, visible=True),
|
61 |
gr.update(value=lang, visible=True),
|
|
|
62 |
] + charts
|