Spaces:
Runtime error
Runtime error
File size: 3,665 Bytes
5251bf1 9cec98e e3551a8 9fda8e0 620c398 5251bf1 97d789e 9fda8e0 97d789e 70ae5c9 5251bf1 89acf36 5251bf1 e9d3a59 b8b0f87 0fae6c9 5251bf1 70ae5c9 5251bf1 0fae6c9 5251bf1 e9d3a59 b8b0f87 0fae6c9 5251bf1 38e37ac e9d3a59 b8b0f87 38e37ac 07990a2 5251bf1 0fae6c9 5251bf1 b8b0f87 aabc5e5 b8b0f87 a16ad1e b8b0f87 a16ad1e b8b0f87 93acdbd 5251bf1 0286cb3 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
import plotly.graph_objs as go
def create_charts(results):
charts = {}
explanations = {}
general_impressions = {}
for speaker_id, data in results.items():
charts[speaker_id] = {}
explanations[speaker_id] = {}
# Extract general impression
general_impressions[speaker_id] = data.get('general_impression', "No general impression provided.")
# Attachment Styles
attachment_data = data['attachments']
labels = ['Secured', 'Anxious-Preoccupied', 'Dismissive-Avoidant', 'Fearful-Avoidant']
values = [attachment_data.secured, attachment_data.anxious_preoccupied,
attachment_data.dismissive_avoidant, attachment_data.fearful_avoidant]
fig = go.Figure(data=[go.Bar(x=labels, y=values, marker_color=['blue', 'orange', 'green', 'red'])])
fig.update_layout(title=f'{speaker_id}: Attachment Styles', yaxis_range=[0, 1])
charts[speaker_id]['attachment'] = fig
explanations[speaker_id]['attachment'] = attachment_data.explanation
# Big Five Traits
bigfive_data = data['bigfive']
labels = ['Extraversion', 'Agreeableness', 'Conscientiousness', 'Neuroticism', 'Openness']
values = [bigfive_data.extraversion, bigfive_data.agreeableness,
bigfive_data.conscientiousness, bigfive_data.neuroticism, bigfive_data.openness]
fig = go.Figure(data=[go.Bar(x=labels, y=values, marker_color=['blue', 'green', 'red', 'purple', 'orange'])])
fig.update_layout(title=f'{speaker_id}: Big Five Traits', yaxis_range=[0, 10])
charts[speaker_id]['bigfive'] = fig
explanations[speaker_id]['bigfive'] = bigfive_data.explanation
# Personality Disorders
personality_data = data['personalities']
labels = ['Depressed', 'Paranoid', 'Schizoid-Schizotypal', 'Antisocial-Psychopathic',
'Borderline-Dysregulated', 'Narcissistic', 'Anxious-Avoidant', 'Dependent-Victimized', 'Obsessional']
values = [personality_data.depressed, personality_data.paranoid,
personality_data.schizoid_schizotypal, personality_data.antisocial_psychopathic,
personality_data.borderline_dysregulated, personality_data.narcissistic,
personality_data.anxious_avoidant, personality_data.dependent_victimized,
personality_data.obsessional]
fig = go.Figure(data=[go.Bar(x=labels, y=values, marker_color=['black', 'orange', 'gray', 'green', 'brown', 'purple', 'red', 'cyan', 'magenta'])])
fig.update_layout(title=f'{speaker_id}: Personality Disorders', yaxis_range=[0, 5])
charts[speaker_id]['personality'] = fig
explanations[speaker_id]['personality'] = personality_data.explanation
# Attachment Dimensions (Radar Chart)
dimensions_data = data['attachments']
labels = ['Self', 'Others', 'Anxiety', 'Avoidance']
values = [dimensions_data.self_model, dimensions_data.others_model,
dimensions_data.anxiety, dimensions_data.avoidance]
fig = go.Figure(data=go.Scatterpolar(
r=values,
theta=labels,
fill='toself',
marker=dict(color='black'),
line=dict(color='black')
))
fig.update_layout(
polar=dict(
radialaxis=dict(visible=True, range=[0, 10])
),
showlegend=False,
title=f'{speaker_id}: Attachment Dimensions'
)
charts[speaker_id]['dimensions'] = fig
return charts, explanations, general_impressions
|