diff --git a/analyse_korrelation.py b/analyse_korrelation.py
index ab12734..c9965df 100644
--- a/analyse_korrelation.py
+++ b/analyse_korrelation.py
@@ -288,6 +288,7 @@ def visualize_bivariate_correlation(df, x_terms, y_terms, title, x_label, y_labe
abs_corr = abs(corr)
significance = 'Signifikant' if p_value < 0.05 else 'Nicht signifikant'
hover_color = colors['brightArea'] if p_value < 0.05 else colors['depthArea']
+ cooccurrence_count = int(((df[x_term] == 1) & (df[y_term] == 1)).sum())
correlations.append({
'x_term': x_term,
'y_term': y_term,
@@ -296,6 +297,8 @@ def visualize_bivariate_correlation(df, x_terms, y_terms, title, x_label, y_labe
'p_value': p_value,
'significance': significance,
'hover_color': hover_color,
+ 'n_observations': int(len(x_valid)),
+ 'cooccurrence_count': cooccurrence_count,
'interpretation': (
f"Die Korrelation zwischen '{x_term}' und '{y_term}' beträgt {corr:.2f}. "
f"p-Wert: {p_value:.3e} ({significance})"
@@ -361,12 +364,25 @@ def visualize_bivariate_correlation(df, x_terms, y_terms, title, x_label, y_labe
line=dict(width=1, color=colors['background'])
),
hovertemplate=(
- '%{customdata[0]}
'
+ '%{customdata[0]} ↔ %{customdata[1]}
'
'Korrelation: %{marker.color:.2f}
'
- 'p-Wert: %{customdata[1]:.3e}
'
- 'Signifikanz: %{customdata[2]}'
+ 'p-Wert: %{customdata[3]:.3e}
'
+ 'Signifikanz: %{customdata[4]}
'
+ 'Stichprobe (n): %{customdata[5]}
'
+ 'Gemeinsame Treffer: %{customdata[6]}
'
+ '%{customdata[7]}'
+ ''
),
- customdata=correlation_df[['x_term', 'p_value', 'significance']].to_numpy()
+ customdata=np.array(list(zip(
+ correlation_df['x_term'],
+ correlation_df['y_term'],
+ correlation_df['correlation'],
+ correlation_df['p_value'],
+ correlation_df['significance'],
+ correlation_df['n_observations'],
+ correlation_df['cooccurrence_count'],
+ correlation_df['interpretation']
+ )), dtype=object)
)
# Standardlayout verwenden und ggf. ergänzen, Margin dynamisch für Responsivität
@@ -376,6 +392,7 @@ def visualize_bivariate_correlation(df, x_terms, y_terms, title, x_label, y_labe
x_title=x_label,
y_title=y_label
),
+ hovermode='closest',
xaxis=dict(
tickangle=-45,
automargin=True