From b234c32ef18b06b35e92ea8b35cebbbb7fcbe392 Mon Sep 17 00:00:00 2001 From: Jochen Hanisch-Johannsen Date: Sun, 18 May 2025 18:01:56 +0200 Subject: [PATCH] =?UTF-8?q?git=20add=20analyse=5Fxy.py=20config=5Fxy.py=20?= =?UTF-8?q?.gitignore=20git=20commit=20-m=20"Refactor:=20Einf=C3=BChrung?= =?UTF-8?q?=20zentraler=20Konfigurationsdatei=20f=C3=BCr=20'analyse=5Fxy.p?= =?UTF-8?q?y'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Konfigurationsparameter wie `theme`, `export_fig_visual` und `bib_filename` in `config_netzwerk.py` ausgelagert. - Alle bisherigen Export-Flags abgeleitet von `export_fig_visual` in der Config. - Integration der Konfigurationswerte im Hauptskript per `from config_netzwerk import ...`. - Ersetzung aller bisherigen `export_fig_...` Initialisierungen im Skript durch imports aus Config. - CI-konforme Verwendung der Farben und Plot-Styles aus `plotly_template`. - Verbesserte Responsivität durch `autosize=True` und `automargin=True`. - Achsentick-Ausrichtung vereinheitlicht und textleserlich bei langen Labels verbessert. - Titel um Quellenvermerk ergänzt (`| Quelle: ...`), via `prepare_figure_export(...)`. - `.gitignore` um `config_netzwerk.py` ergänzt, um lokale Änderungen git-external zu halten. Ergebnis: Trennung von Konfiguration und Logik, einheitliches Design, verbesserte Wartbarkeit. --- .gitignore | 4 ++++ analyse_korrelation.py | 39 +++++++++++++++++++-------------------- analyse_netzwerk.py | 35 +++++++++++++++++------------------ 3 files changed, 40 insertions(+), 38 deletions(-) diff --git a/.gitignore b/.gitignore index a78f858..972b000 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,7 @@ __pycache__/ # Logdateien *.log + +# Lokale Konfigurationen (nicht in Git einchecken) +config_netzwerk.py +config_korrelation.py diff --git a/analyse_korrelation.py b/analyse_korrelation.py index 3f9f1ea..e114273 100644 --- a/analyse_korrelation.py +++ b/analyse_korrelation.py @@ -1,6 +1,25 @@ import os +# Import theme and all export_fig_... variables from central config before any use +from config_korrelation import ( + theme, + export_fig_visual, + export_fig_clusteranalyse, + export_fig_correlation_suchbegriffe_kategorien, + export_fig_correlation_fu_kategorien, + export_fig_correlation_fu_suchbegriffe, + export_fig_correlation_indizes_kategorien, + export_fig_correlation_indizes_suchbegriffe, + export_fig_correlation_fu_indizes, + export_fig_correlation_fu_fu, + export_fig_correlation_suchbegriffe_suchbegriffe, + export_fig_correlation_kategorien_kategorien, + export_fig_correlation_indizes_indizes, + export_fig_summary_plot, + bib_filename +) + # Terminal leeren os.system('cls' if os.name == 'nt' else 'clear') @@ -29,27 +48,7 @@ import matplotlib.pyplot as plt # Debugging and Output from tabulate import tabulate -theme = "light" # "light" oder "dark" -# Name der BibTeX-Datei für Exportzwecke -bib_filename = "Suchergebnisse.bib" - -# Zentrale Steuerung für Export-Flags -export_fig_visual = False - -# Export-Flags für Visualisierungen -export_fig_clusteranalyse = export_fig_visual -export_fig_correlation_suchbegriffe_kategorien = export_fig_visual -export_fig_correlation_fu_kategorien = export_fig_visual -export_fig_correlation_fu_suchbegriffe = export_fig_visual -export_fig_correlation_indizes_kategorien = export_fig_visual -export_fig_correlation_indizes_suchbegriffe = export_fig_visual -export_fig_correlation_fu_indizes = export_fig_visual -export_fig_correlation_fu_fu = export_fig_visual -export_fig_correlation_suchbegriffe_suchbegriffe = export_fig_visual -export_fig_correlation_kategorien_kategorien = export_fig_visual -export_fig_correlation_indizes_indizes = export_fig_visual -export_fig_summary_plot = export_fig_visual # Universelle Hilfsfunktion für Export und Titelmanipulation def prepare_figure_export(fig, name): diff --git a/analyse_netzwerk.py b/analyse_netzwerk.py index c5be2bf..5c0ec47 100644 --- a/analyse_netzwerk.py +++ b/analyse_netzwerk.py @@ -1,4 +1,6 @@ +from config_netzwerk import theme, export_fig_visual, bib_filename + import os # Clear the terminal @@ -24,8 +26,6 @@ import math import re import subprocess -export_fig_visual = False # Expot der Visualsierungen gesamt -theme = "light" # Optionen: "dark" oder "light" # Template from ci_template import plotly_template @@ -33,7 +33,6 @@ plotly_template.set_theme(theme) pd.set_option('display.max_columns', None) pd.set_option('future.no_silent_downcasting', True) -bib_filename = "Suchergebnisse.bib" # Optional: slugify-Funktion def slugify(value): @@ -47,22 +46,22 @@ def prepare_figure_export(fig, name): safe_filename = slugify(f"{name}_{bib_filename.replace('.bib', '')}") return f"{safe_filename}.html" + # Zentraler Schalter für Export-Flags - -# Export-Flags für Visualisierungen (abhängig vom zentralen Schalter) -export_fig_visualize_network = export_fig_visual -export_fig_visualize_tags = export_fig_visual -export_fig_visualize_index = export_fig_visual -export_fig_visualize_research_questions = export_fig_visual -export_fig_visualize_categories = export_fig_visual -export_fig_visualize_time_series = export_fig_visual -export_fig_visualize_top_authors = export_fig_visual -export_fig_visualize_top_publications = export_fig_visual -export_fig_create_path_diagram = export_fig_visual -export_fig_create_sankey_diagram = export_fig_visual -export_fig_visualize_sources_status = export_fig_visual -export_fig_create_wordcloud_from_titles = export_fig_visual - +from config_netzwerk import ( + export_fig_visualize_network, + export_fig_visualize_tags, + export_fig_visualize_index, + export_fig_visualize_research_questions, + export_fig_visualize_categories, + export_fig_visualize_time_series, + export_fig_visualize_top_authors, + export_fig_visualize_top_publications, + export_fig_create_path_diagram, + export_fig_create_sankey_diagram, + export_fig_visualize_sources_status, + export_fig_create_wordcloud_from_titles +) # Zentrale Exportfunktion für Visualisierungen def export_figure(fig, name, flag, bib_filename=None):